用VB把数字转成中文字符串

用VB把数字转成中文字符串,第1张

根据数字的读法源码天空 写了一个把数字转成中文字符串的程序

参数一为数字

参数二为是不是反回人民币大写

参数三为是不是直接读数字 否则带有十百等单位

参数四为设置小数点后面的位数 默认为

使用方法是

t=GetChinaNum( ) 返回 二千零五点零零零四三六

t=GetChinaNum( True ) 返回 贰仟零伍元肆角肆分

t=GetChinaNum( True ) 返加 二零零五点四三六

下面是程序代码

Function GetChinaNum(otherNum As Double Optional isRMB As Boolean Optional numOption As Boolean Optional dotNum As Integer) As String

On Error Resume Next

num = Trim(Str(Int(otherNum)))

If isRMB Then

numwei = 拾佰仟万拾佰仟亿拾佰仟

numshu = 零壹贰三肆伍陆柒捌玖拾

Else

numwei = 十百千万十百千亿十百千

numshu = 零一二三四五六七八九十

End If

If otherNum <And otherNum >= Then

num = Right(num )

GetChinaNum = Left(numwei )

End If

For i = To Len(num)

bstr = Mid(num i )

If numOption Then

GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + )

Else

GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + )

If bstr = Then

If Mid(numwei Len(num) i ) = 万 Or Mid(numwei Len(num) i ) = 亿 Then

Do While Right(GetChinaNum ) = 零

GetChinaNum = Left(GetChinaNum Len(GetChinaNum) )

Loop

GetChinaNum = GetChinaNum + Mid(numwei Len(num) i )

End If

Else

GetChinaNum = GetChinaNum + Mid(numwei Len(num) i )

End If

GetChinaNum = Replace(GetChinaNum 零零 零 )

End If

Next i

If numOption = False Then

Do While Right(GetChinaNum ) = 零

GetChinaNum = Left(GetChinaNum Len(GetChinaNum) )

Loop

End If

If isRMB Then

numrmb = 元角分

GetChinaNum = GetChinaNum + Mid(numrmb )

If Val(num) <>otherNum Then

num = Trim(Str(Round(otherNum Val(num) )))

For i = To Len(num)

bstr = Mid(num i )

GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + ) + Mid(numrmb i )

Next i

Else

GetChinaNum = GetChinaNum + 整

End If

Else

If Val(num) <>otherNum Then

If dotNum = Then dotNum =

num = Trim(CStr(Round(otherNum Val(num) dotNum)))

If GetChinaNum = Then GetChinaNum = 零

GetChinaNum = GetChinaNum + 点

For i = To Len(num)

bstr = Mid(num i )

GetChinaNum = GetChinaNum + Mid(numshu Val(bstr) + )

Next i

End If

End If

lishixinzhi/Article/program/net/201311/12736

可以设置成中文。

这样开发的相应软件,在中文计算机系统中运行不会出错。但是要推广到其他语言的计算机系统,有可能会出错。

所以,最好的办法就是使用英文字母、拼音简写、数字等命名控件的Name属性。

中文版XP系统当然属于中文计算机系统,所以在你的机器上开发和运行运行的程序,控件的name属性就可以设置为中文。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11204362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存