PB 電子会議室
| 発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) | 
|---|---|---|
| 728 | 98/03/03 14:34:05 | RE(2):全角数字を半角数字に変換する方法 By M.M | 
| 719 | 98/03/02 09:19:39 | RE(1):全角数字を半角数字に変換する方法 By M.M | 
| 711 | 98/02/27 13:40:32 | 全角数字を半角数字に変換する方法 By Osamu | 
カテゴリ:旧電子会議室
日付:1998年03月02日 09:19 発信者:M.M
題名:RE(1):全角数字を半角数字に変換する方法
  >全角で入力された数字を半角の数字に変換したいのですが、どうしたら良いのでしょう?
>桁数はできれば可変にしたいのですが・・・
以前に書いたサンプルがあります。
Choose Case文を使い、力技で変換しているだけなので、
たいして参考にならないかもしれませんが...
????????????????????????????????????????
//
//グローバル関数 「gf_dec_to_wbyte」
//数値(decimal型)を全角文字列に変換します
// IN :(1)d   (decimal)    変換する数値
//     (2)e   (Integer)    decinmal型の小数点以下の有効桁数(0:整数)
// OUT:(1)    (String)     変換後の全角文字列
//
Int		i
String	sbyte_string,wbyte_string,s,f
Long		l,ll
//書式フォーマットの決定
	f	= \"#.\"
	For I=1 to e
		f	= f + \"0\"
	Next
	If f=\"#.\" Then f=\"#\"
	
//変数の初期化
	wbyte_string	= \"\"
	sbyte_string	= String(d,f)
	ll					= Len(sbyte_string)
//全角文字列への変換
	For l=1 to ll
		s	= Mid(sbyte_string,l,1)
	Choose Case s
		Case \"1\"
			wbyte_string	= wbyte_string + \"1\"
		Case \"2\"
			wbyte_string	= wbyte_string + \"2\"
		Case \"3\"
			wbyte_string	= wbyte_string + \"3\"
		Case \"4\"
			wbyte_string	= wbyte_string + \"4\"
		Case \"5\"
			wbyte_string	= wbyte_string + \"5\"
		Case \"6\"
			wbyte_string	= wbyte_string + \"6\"
		Case \"7\"
			wbyte_string	= wbyte_string + \"7\"
		Case \"8\"
			wbyte_string	= wbyte_string + \"8\"
		Case \"9\"
			wbyte_string	= wbyte_string + \"9\"
		Case \"0\"
			wbyte_string	= wbyte_string + \"0\"
		Case \".\"
			wbyte_string	= wbyte_string + \".\"
	
		Case Else
			Return(\"ERROR\")
		End Choose
	Next
	Return(wbyte_string)
????????????????????????????????????????
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.




