要將數(shù)字金額轉(zhuǎn)為中文大寫,需要經(jīng)歷以下幾個步驟:
1.將阿拉伯小寫數(shù)字轉(zhuǎn)為中文大寫。這可以用到前面章節(jié)例子中,將數(shù)字轉(zhuǎn)為中文大寫的代碼,如:
Function RmbDx(ByVal c) As String
Application.Volatile True
c = Val(c)
RmbDx = Application.WorksheetFunction.Text(c, "[DBNum2]")
RmbDx = Replace(RmbDx, "-", "負(fù)")
End Function
2.在整數(shù)金額的后面添加“元整”.可以借助IF語句及FIX取整函數(shù)來判斷某個金額是否整數(shù)金額。
Function RmbDx(ByVal c) As String
Application.Volatile True
c = Val(c)
RmbDx = Application.WorksheetFunction.Text(c, "[DBNum2]")
RmbDx = Replace(RmbDx, "-", "負(fù)")
If c = Fix(c) Then
RmbDx = RmbDx & "元整"
End If
End Function
3.在只包含“角”信息,不含“分”信息的金額中添加“元”和“分”信息.
Function RmbDx(ByVal c) As String
Application.Volatile True
Dim p As Integer
c = Val(c)
RmbDx = Application.WorksheetFunction.Text(c, "[DBNum2]")
RmbDx = Replace(RmbDx, "-", "負(fù)")
If c = Fix(c) Then
RmbDx = RmbDx & "元整"
Else
RmbDx = Replace(RmbDx, ".", "元")
If c * 10 = Fix(c * 10) Then
RmbDx = RmbDx & "角"
End If
End If
End Function
4.在包含“角”與“分”信息的數(shù)據(jù)中添加“角”和“分”信息。
Function RmbDx(ByVal c) As String
Application.Volatile True
Dim p As Integer
c = Val(c)
RmbDx = Application.WorksheetFunction.Text(c, "[DBNum2]")
RmbDx = Replace(RmbDx, "-", "負(fù)")
If c = Fix(c) Then
RmbDx = RmbDx & "元整"
Else
p = InStr(RmbDx, ".")
RmbDx = Replace(RmbDx, ".", "元")
If c * 10 = Fix(c * 10) Then
RmbDx = RmbDx & "角"
Else
RmbDx = Left(RmbDx, p) & Mid(RmbDx, p + 1, 1) & "角" & Right(RmbDx, 1) & "分"
End If
End If
End Function
這樣即可得到將人民幣金額轉(zhuǎn)為中文大寫金額的自定義函數(shù)RmbDx,效果如下圖。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。