qysir 发表于 2009-5-11 21:47:21

请教下

能否把数字转成汉字?比如1转换成一,2转换成二

顽固不化 发表于 2009-5-11 22:50:13

1# qysir $hz="一二三四五六七八九零"
$alb="1234567890"
$in=InputBox("输入","请输入数字串(0-9)")
if $in<>1 Then
        $new=""
        for $i=1 To StringLen($in)
                $new=$new&_chang(StringMid($in,$i,1))
        Next
        MsgBox(0,0,$new)
EndIf
               
Func _chang($num)
        $N=StringInStr($alb,$num)
        Return StringMid($hz,$N,1)
EndFunc

xrbenbeba 发表于 2009-5-11 23:10:11

晕 这么写的话 有新的需求也太不方便了把

还有 楼主的问题够水准

小弟佩服:face (3):

sensel 发表于 2009-5-12 03:07:06

本帖最后由 sensel 于 2009-5-13 13:37 编辑

汗~~~突然发现自己发过这样的不知所云帖子。。。
对不住大家啊,前天喝高了。。。

lxz 发表于 2009-5-12 06:54:32

$hz="一二三四五六七八九零"
$alb="1234567890"
$in=InputBox("输入","请输入数字串(0-9)")
If $in <> "" Then
      $new=""
      for $i=1 To StringLen($in)
                $new=$new&_chang(StringMid($in,$i,1))
      Next
      MsgBox(0,"转换结果:",$new)
EndIf
               
Func _chang($num)
      $N=StringInStr($alb,$num)
      Return StringMid($hz,$N,1)
EndFunc

c9992 发表于 2009-5-12 07:42:45

我會使用tr這個指令耶比較方便
我夾上來給你使用吧
tr '123' '一二三' filename > filename2
不曉得有沒有幫到你

pcbar 发表于 2009-5-12 08:48:08

MsgBox(0,'45539551转换结果为:',n2s('45539551'))

Func n2s($x)
Local $hz=['零','一','二','三','四','五','六','七','八','九']
Local $rt=''
        if StringIsDigit ($x) Then
                for $i=1 to StringLen($x)
                        $rt&=$hz
                Next
                Return $rt
        Else
                Return ""
        EndIf
EndFunc
页: [1]
查看完整版本: 请教下