用VB把数字转成中文字符串_vb字符串转换函数

2020-02-29 其他范文 下载本文

用VB把数字转成中文字符串由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“vb字符串转换函数”。

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

发表日期:2002-09-13作者:李立华[原创] 出处:

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

参数一为数字

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

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

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

使用方法是

t=GetChinaNum(20005.000436, , , 7)'返回 “二千零五点零零零四三六”t=GetChinaNum(2005.436, True, , 7)'返回“贰仟零伍元肆角肆分”

t=GetChinaNum(2005.436, , True, 7)'返加“二零零五点四三六”

下面是程序代码

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 = 10 Then

num = Right(num, 1)

GetChinaNum = Left(numwei, 1)

End If

For i = 1 To Len(num)

bstr = Mid(num, i, 1)

If numOption Then

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

Else

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

If bstr = “0” Then

If Mid(numwei, Len(num)i, 1)= “亿” Then

Do While Right(GetChinaNum, 1)= “零”

GetChinaNum = Left(GetChinaNum, Len(GetChinaNum)i, 1)

End If

Else

GetChinaNum = GetChinaNum + Mid(numwei, Len(num)1)

Loop

End If

If isRMB Then

numrmb = “元角分”

GetChinaNum = GetChinaNum + Mid(numrmb, 1, 1)

If Val(num)otherNum Then

num = Trim(Str(Round(otherNumVal(num), dotNum)))

If GetChinaNum = “” Then GetChinaNum = “零”

GetChinaNum = GetChinaNum + “点”

For i = 2 To Len(num)

bstr = Mid(num, i, 1)i, 1)

GetChinaNum = GetChinaNum + Mid(numshu, Val(bstr)+ 1, 1)Next i

End If

End If

End Function

《用VB把数字转成中文字符串.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
用VB把数字转成中文字符串
点击下载文档
相关专题 vb字符串转换函数 字符串 中文 转成 vb字符串转换函数 字符串 中文 转成
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文