将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分

类别:.NET开发 点击:0 评论:0 推荐:

'将货币的小写转换为大写,例如:肆佰陆拾贰圆捌角柒分

Public Function Num2Chi(ByVal txtJE As Double) As String

    Dim i, K As Integer

    Dim NC, nd, ka, chrNum, strZheng As String

    Dim c1, c2, c3 As String

    Dim K1 As Integer

    Dim Zheng As String

    Dim Xiao As String

    NC = Trim(Format(txtJE, "##0.00"))

    c1 = "仟佰拾万仟佰拾亿仟佰拾万仟佰拾元"

    c2 = "角分"

    c3 = "玖捌柒陆伍肆叁贰壹"

    If NC = 0 Then

        Num2Chi = "零元整"

        Exit Function

    End If

    Num2Chi = ""

    Zheng = Mid(NC, 1, (Len(NC) - 3))

    Xiao = Mid(NC, (Len(Zheng) + 2))

    If Val(Xiao) <> 0 Then

        For i = Len(Xiao) To 1 Step -1

            chrNum = Mid(Xiao, i, 1)

            If chrNum <> 0 Then

                Num2Chi = Mid(c2, i, 1) & Num2Chi

                Num2Chi = Mid(c3, (Len(c3) - chrNum + 1), 1) & Num2Chi

            End If

        Next i

    End If

 

    K = 0

    If Val(Zheng) <> 0 Then

        Num2Chi = "元" & Num2Chi

        For i = Len(Zheng) To 1 Step -1

            If (Len(Zheng) - i) = 4 Then

                Num2Chi = "万" & Num2Chi

            ElseIf (Len(Zheng) - i) = 8 Then

                Num2Chi = "亿" & Num2Chi

            ElseIf (Len(Zheng) - i) = 12 Then

                Num2Chi = "万" & Num2Chi

            End If

            chrNum = Mid(Zheng, i, 1)

            If chrNum <> 0 Then

                If i = Len(Zheng) Then

                    Num2Chi = Mid(c3, (Len(c3) - chrNum + 1), 1) & Num2Chi

                Else

                    If (Len(Zheng) - i) <> 4 And (Len(Zheng) - i) <> 8 And (Len(Zheng) - i) <> 12 Then

                        Num2Chi = Mid(c1, (Len(c1) - K), 1) & Num2Chi

                    End If

                    Num2Chi = Mid(c3, (Len(c3) - chrNum + 1), 1) & Num2Chi

                End If

            Else

                If Mid(Num2Chi, 1, 1) <> "元" And Mid(Num2Chi, 1, 1) <> "万" And Mid(Num2Chi, 1, 1) <> "亿" Then

                    If Mid(Num2Chi, 1, 1) <> "零" Then

                        Num2Chi = "零" & Num2Chi

                    End If

                End If

            End If

            K = K + 1

        Next i

    End If

    If Right(Trim(Num2Chi), 1) <> "分" Then

        Num2Chi = Num2Chi & "整"

    End If

End Function

本文地址:http://com.8s8s.com/it/it43906.htm