Public Function Num2Num(lNum As Long) As String Dim sTemp As String Dim sResult As String Dim i As Integer sTemp = CStr(lNum)
For i = 1 To Len(sTemp) If Num2Chr(Mid(sTemp, i, 1)) = "零" Then If Num2Chr(Mid(sTemp, i - 1, 1)) <> "零" Then sResult = sResult & Num2Chr(Mid(sTemp, i, 1)) End If Else sResult = sResult & Num2Chr(Mid(sTemp, i, 1)) & SetDigit(Len(sTemp) - i + 1) End If Next i Num2Num = sResult End FunctionPrivate Function Num2Chr(iNum As Integer) As String Select Case iNum Case 1 Num2Chr = "一" Case 2 Num2Chr = "二" Case 3 Num2Chr = "三" Case 4 Num2Chr = "四" Case 5 Num2Chr = "五" Case 6 Num2Chr = "六" Case 7 Num2Chr = "七" Case 8 Num2Chr = "八" Case 9 Num2Chr = "九" Case 0 Num2Chr = "零" End Select End FunctionPrivate Function SetDigit(i As Integer) As String Select Case i Case 2, 6, 10 SetDigit = "十" Case 3, 7, 11 SetDigit = "百" Case 4, 8, 12 SetDigit = "千" Case 5 SetDigit = "万" Case 9 SetDigit = "亿" End Select End Function '调用 debug.print Num2Num(130012)有点小问题,自己修改一下
Dim sTemp As String
Dim sResult As String
Dim i As Integer sTemp = CStr(lNum)
For i = 1 To Len(sTemp)
If Num2Chr(Mid(sTemp, i, 1)) = "零" Then
If Num2Chr(Mid(sTemp, i - 1, 1)) <> "零" Then
sResult = sResult & Num2Chr(Mid(sTemp, i, 1))
End If
Else
sResult = sResult & Num2Chr(Mid(sTemp, i, 1)) & SetDigit(Len(sTemp) - i + 1)
End If
Next i
Num2Num = sResult
End FunctionPrivate Function Num2Chr(iNum As Integer) As String
Select Case iNum
Case 1
Num2Chr = "一"
Case 2
Num2Chr = "二"
Case 3
Num2Chr = "三"
Case 4
Num2Chr = "四"
Case 5
Num2Chr = "五"
Case 6
Num2Chr = "六"
Case 7
Num2Chr = "七"
Case 8
Num2Chr = "八"
Case 9
Num2Chr = "九"
Case 0
Num2Chr = "零"
End Select
End FunctionPrivate Function SetDigit(i As Integer) As String
Select Case i
Case 2, 6, 10
SetDigit = "十"
Case 3, 7, 11
SetDigit = "百"
Case 4, 8, 12
SetDigit = "千"
Case 5
SetDigit = "万"
Case 9
SetDigit = "亿"
End Select
End Function
'调用
debug.print Num2Num(130012)有点小问题,自己修改一下