'############################################################### '函数作用:人民币大小写转换 '############################################################### Function NtoC(ByVal n) As String 'n as Currency Const cNum As String = "零壹贰叁肆伍陆柒捌玖‐万仟佰拾亿仟佰拾万仟佰拾元角分" Const cCha As String = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整‐零零零零零亿万元亿零整整" Dim sNum As String Dim i As Long If (n <> 0) And (Abs(n) < 10000000000000#) Then sNum = Trim(Str(Int(Abs(n) * 100))) For i = 1 To Len(sNum) '逐位转换 NtoC = NtoC + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 ‐ Len(sNum)+ i, 1) Next For i = 0 To 11 '去掉多余的零 NtoC = Replace(NtoC, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1)) Next If n < 0 Then NtoC = "(负)" + NtoC Else NtoC = IIf(n = 0, "零元", "溢出") End If End Function |
|