找回密码
 加入
搜索
查看: 1311|回复: 6

请教下

[复制链接]
发表于 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
发表于 2009-5-11 23:10:11 | 显示全部楼层
晕 这么写的话 有新的需求也太不方便了把

还有 楼主的问题够水准

小弟佩服
发表于 2009-5-12 03:07:06 | 显示全部楼层
本帖最后由 sensel 于 2009-5-13 13:37 编辑

汗~~~突然发现自己发过这样的不知所云帖子。。。
对不住大家啊,前天喝高了。。。
发表于 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
发表于 2009-5-12 07:42:45 | 显示全部楼层
我會使用tr這個指令耶比較方便
我夾上來給你使用吧
tr '123' '一二三' filename > filename2
不曉得有沒有幫到你

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-5-12 08:48:08 | 显示全部楼层
MsgBox(0,'45539551转换结果为:',n2s('45539551'))

Func n2s($x)
Local $hz[10]=['零','一','二','三','四','五','六','七','八','九']
Local $rt=''
        if StringIsDigit ($x) Then
                for $i=1 to StringLen($x)
                        $rt&=$hz[StringMid($x,$i,1)]
                Next
                Return $rt
        Else
                Return ""
        EndIf
EndFunc
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 09:08 , Processed in 0.096832 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表