1. 程式人生 > >Access自定義函式(人民幣大寫)

Access自定義函式(人民幣大寫)

人民幣大寫函式:整數不超過13位。

Public Function 人民幣大寫(A) As String
  Dim aa As String
  Dim bb As String
  Dim cc As String
  Dim dd As Byte
  Dim ee As Boolean
  Dim ff As Byte
  Dim i As Integer
  Dim qq As String
    On Error GoTo CH_Err
    If A >= 0 Then
     aa = Int((A + 0.005) * 100)
     Else
     aa = -Int((A + 0.005) * 100)
     End If
      dd = Len(aa)
        For i = dd To 1 Step -1
         qq = Mid(aa, dd - i + 1, 1)
          bb = Mid("零壹貳叄肆伍陸柒捌玖拾", qq + 1, 1)
           If qq <> "0" Then
             If ee = True Then
              cc = cc + "零" + bb + Mid("分角元拾佰仟萬拾佰仟億拾佰仟萬拾佰", i, 1)
            Else
              cc = cc + bb + Mid("分角元拾佰仟萬拾佰仟億拾佰仟萬拾佰", i, 1)
            End If
              ee = False
            Else
              If i = 1 And qq = "0" Then
                cc = cc + "整"
              If aa = 0 Then
                 cc = ""
              End If
           Exit For
           End If
              If (i Mod 4 = 3) Then
               If ff < 4 Or i = 3 Then
                cc = cc + Mid("分角元拾佰仟萬拾佰仟億拾佰仟", i, 1)
               End If
              End If
            ee = True
         End If
       Next i
       If A >= 0 Then
     CH = cc
     Else
     CH = "負-" & cc
     End If
CH_Exit:
    Exit Function
CH_Err:
If A >= 0 And Len(Int(A)) >= 13 Or A < 0 And Len(Int(A)) >= 14 Then
   
     MsgBox "對不起 !!!" + Chr(13) + "您輸入的數值必須是:" & vbNewLine & "整數位不超過 13 位。", vbOKOnly, "警告"
    Else
    MsgBox Error$
    Resume CH_Exit
    End If
 End Function