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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航