将数字串转换为中文金额字符串
'*************************************************************************************************************
Public Function ConvCap(ByVal valstr) As String
ConvCap = Choose(Val(valstr) + 1, "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")
End Function
'**************************************************************************
'函数用途:将数字串转换为中文金额字符串
'入口参数:Digital 要转换的数字串
'返回参数:中文金额字符串
'限制:Digital小于1亿
'*************************************************************************
Public Function ConvToMoney(ByVal Digital As String) As String
Dim strChi(11), strDig(10) As String
Dim stmp, rsStr As String
Dim lenStr As Byte
Dim laststr As String
'Dim DigiToChi As String
If Not IsNumeric(Digital) Then
ConvToMoney = ""
Exit Function
End If
If Val(Format(Digital)) < 0 Then
Digital = Trim(Str(Abs(Val(Format(Digital)))))
laststr = "整(负)"
Else
laststr = "整"
End If
strChi(0) = "分"
strChi(1) = "角"
strChi(2) = "元"
strChi(3) = "拾"
strChi(4) = "佰"
strChi(5) = "仟"
strChi(6) = "万"
strChi(7) = "拾"
strChi(8) = "佰"
strChi(9) = "仟"
strChi(10) = "亿"
strDig(0) = "零"
strDig(1) = "壹"
strDig(2) = "贰"
strDig(3) = "叁"
strDig(4) = "肆"
strDig(5) = "伍"
strDig(6) = "陆"
strDig(7) = "柒"
strDig(8) = "捌"
strDig(9) = "玖"
Dim DigiToChi As String
stmp = Digital
If (Len(stmp) = 0) Or (Len(stmp) > 11) Then
DigiToChi = ""
Exit Function
End If
stmp = Format(stmp, "########.00")
If Len(stmp) > 11 Then
DigiToChi = ""
Exit Function
End If
lenStr = Len(stmp)
rsStr = strDig(Val(Mid(stmp, lenStr - 1, 1))) & strChi(1) & strDig(Val(Right(stmp, 1))) & strChi(0)
stmp = Left(stmp, Len(stmp) - 3)
Dim I, d As Byte
Dim blnZero As Boolean
Dim stmprv, dstr As String
For I = 1 To Len(stmp)
stmprv = Mid(stmp, I, 1) & stmprv
Next
For I = 1 To Len(stmprv)
d = Val(Mid(stmprv, I, 1))
If d = 0 Then
If I = 1 Or I = 5 Then
dstr = strChi(I + 1)
Else
If Not blnZero Then
dstr = strDig(0)
Else
dstr = ""
End If
End If
blnZero = True
Else
dstr = strDig(d) & strChi(I + 1)
blnZero = False
End If
rsStr = dstr + rsStr
Next
ConvToMoney = rsStr & laststr
End Function
Public Function GetBitStr(ByVal valstr As String, ByVal pos As Integer) As String
Select Case pos
Case 1
GetBitStr = ConvCap(valstr) + "元"
Case 2
GetBitStr = ConvCap(valstr) + "拾"
Case 3
GetBitStr = ConvCap(valstr) + "百"
Case 4
GetBitStr = ConvCap(valstr) + "千"
Case 5
GetBitStr = ConvCap(valstr) + "万"
Case 6
GetBitStr = ConvCap(valstr) + "十万"
Case 7
GetBitStr = ConvCap(valstr) + "百万"
Case 8
GetBitStr = ConvCap(valstr) + "千万"
Case 9
GetBitStr = ConvCap(valstr) + "亿"
Case -1
GetBitStr = ConvCap(valstr) + "角"
Case -2
GetBitStr = ConvCap(valstr) + "分"
End Select
End Function