用于将数字换汉字大写数字的函数.doc
文本预览下载声明
用于将数字换汉字大写数字的函数
Function zhh(mrmbze)Dim S_1 As StringDim S_2 As StringDim S_4 As StringDim s_5 As StringDim S_6 As StringDim S_7 As StringDim I As IntegerDim tn As Single
S_1 = 零壹贰叁肆伍陆柒捌玖S_2 = 仟佰拾万仟佰拾元角分
转自:Access中国作者:Benjamin_luk代码:Option Compare DatabaseOption Explicit
Function CWord(myNumber As Double) As StringDim str1 As String, str2 As String, str3 As String, str4 As String, str5 As String, str6 As String, str7 As StringDim I As Integer, J As Integer, K As Integer, L As Integerstr1 = 仟佰拾亿仟佰拾万仟佰拾元角分str2 = 元角分str3 = 零壹贰叁肆伍陆柒捌玖str4 = Left(Trim(Format(myNumber, 0.00)), Len(Format(myNumber, 0.00)) - 3) Right(Trim(Format(myNumber, 0.00)), 2)str5 = Right(Trim(Format(myNumber, 0.00)), 2)str6 = Right(str1, Len(str4))For I = 1 To Len(str4)K = CDbl(Mid(str4, I, 1))str7 = str7 Mid(str3, K + 1, 1) Mid(str6, I, 1)Next ICWord = str7 整End FunctionFunction ctest()MsgBox CWord(120001.03)End Function
S_4 = Ltrim(Str(Nz(Int(mrmbze * 100))))
If Len(S_4) 10 And mrmbze 0 And mrmbze 99 Then
??tn = Int(mrmbze * 100) / 100??????If mrmbze - tn = 0.005 Then
?????? tn = tn + 0.01
????End If??S_4 = Ltrim(Str(tn * 100))
??End If
If Len(S_4) 10 Or mrmbze 0 Then
zhh = ERROR!!! The number to be transferred CANNOT be negative and must be less than99
Else
S_4 = String(10 - Len(S_4), ) + S_4I = 1zhh = Do While I = 10????s_5 = Mid(S_4, I, 1)????If s_5 Then????????S_6 = Mid(S_1, Val(s_5) + 1, 1)????????S_7 = Mid(S_2, I, 1)????????If s_5 = 0 And I 4 And I 8 Then????????????S_7 = ????????????????????End If????????If (Mid(S_4, I, 2) = 00) Or (s_5 = 0 And (I = 4 Or I = 8 Or I = 10)) Then????????????S_6 = ????????????????????End If????????zhh = zhh + S_6 + S_7????????????????If Mid(S_4, I, 1) = 0 And Mid(S_4, I + 1, 1) 0 And (I = 4 Or I = 8) Then????????????zhh = zhh + 零????????End If????End If????I = I + 1LoopIf s_5 = 0 Then????zhh = zhh + 整End IfEnd If
If zhh Like * 元零 * 角 * Then????zhh = Replace(zhh
显示全部