有没有现成的函数,可以把12345变成一万两千三百二十五?谢谢。

解决方案 »

  1.   

    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)有点小问题,自己修改一下