人民币大小写转换

人民币大小写转换

Function RMBTransfer(varMoney As Variant) As String

%REM
人民币大小写转换
%END REM

'先解析整数

strNumwei = "拾佰仟万拾佰仟亿拾佰仟"
strNumshu = "零壹贰叁肆伍陆柒捌玖拾"

strMoney = Trim(Cstr(Int(varMoney)))

For i = 1 To Len(strMoney)
strNum = Mid(strMoney,i,1)
RMBTransfer = RMBTransfer + Mid(strNumshu,Int(strNum) + 1,1)
If i < Len(strMoney) Then
RMBTransfer = RMBTransfer + Mid(strNumwei,Len(strMoney) - i,1)
End If
Next

'处理 零亿 零万 零仟 零佰 零拾 壹拾
RMBTransfer = Replace(RMBTransfer,"零拾","")
RMBTransfer = Replace(RMBTransfer,"零佰","")
RMBTransfer = Replace(RMBTransfer,"零仟","")
RMBTransfer = Replace(RMBTransfer,"零万","万")
RMBTransfer = Replace(RMBTransfer,"零亿","亿")

If Strleft(RMBTransfer,"壹拾") = "" Then
RMBTransfer = Replace(RMBTransfer,"壹拾","拾")
End If

'圆角分
strNumyjf = "圆角分"
RMBTransfer = RMBTransfer + Mid(strNumyjf,1,1)

'处理 零圆
RMBTransfer = Replace(RMBTransfer,"零圆","圆")

If Val(strMoney) <> varMoney Then
strYJF = Trim(Str(Round(varMoney - Val(strMoney),2)))
For i = 2 To Len(strYJF)
strNum = Mid(strYJF,i,1)
If strNum <> "0" Then
RMBTransfer = RMBTransfer + Mid(strNumshu,Int(strNum) + 1,1) + Mid(strNumyjf,i,1)
End If
Next
Else
RMBTransfer = RMBTransfer + "整"
End If

End Function


这个函数没有数字位数的限制, 如果超过9999亿的话,只要将 strNumwei 后面多加 万拾佰仟亿拾佰仟 就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值