人民币大小写转换
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 后面多加 万拾佰仟亿拾佰仟 就可以了