vb.net 数字大写

Private Function RMBChinese(ByVal Rmb As Double) As String
Dim Rmbexp As String 
Dim Rmbda As String 
Dim Icnt As Integer 
Dim i As Integer 
Dim Trmb As String
Dim Expda As String 
Dim v1 As Integer = 0

 


Trmb = Format(Rmb, "###0.00")
Trmb = Trmb.Replace(".", "")
Icnt = Len(Trmb)

Rmbexp = "分角元拾佰仟萬拾佰仟億拾佰仟"

Rmbda = "壹貳叁肆伍陸柒捌玖零"


For i = 1 To Icnt

If i < Icnt - 2 Then
If Val(Mid(Trmb, i, 1)) > 0 Then
Expda = Expda & Mid(Rmbda, Val(Mid(Trmb, i, 1)), 1)
Expda = Expda & Mid(Rmbexp, Icnt - i + 1, 1)
End If
End If

If i < Icnt - 6 And i > Icnt - 10 Then
If Val(Mid(Trmb, i, 1)) > 0 Then
v1 = 1
End If
End If


If i = Icnt - 6 Then
If Val(Mid(Trmb, Icnt - 6, 1)) = 0 Then
If v1 > 0 Then
Expda = Expda & "萬"
End If
End If
v1 = 0
End If

If i = Icnt - 10 Then
If Val(Mid(Trmb, Icnt - 10, 1)) = 0 Then
Expda = Expda & "億"
End If
End If

If Icnt > 4 And Val(Mid(Trmb, i, 1)) = 0 Then
If i < Icnt - 2 Then
If Val(Mid(Trmb, i + 1, 1)) > 0 Then
Expda = Expda & "零"
End If
End If
End If


If i = Icnt - 2 And Val(Mid(Trmb, Icnt - 2, 1)) = 0 Then
Expda = Expda & Mid(Rmbexp, 3, 1)
End If

If i = Icnt - 2 And Val(Mid(Trmb, Icnt - 2, 1)) > 0 Then
Expda = Expda & Mid(Rmbda, Val(Mid(Trmb, Icnt - 2, 1)), 1)
Expda = Expda & Mid(Rmbexp, 3, 1)
End If


If i = Icnt - 1 And Val(Mid(Trmb, Icnt - 1, 1)) > 0 Then
Expda = Expda & Mid(Rmbda, Val(Mid(Trmb, Icnt - 1, 1)), 1)
Expda = Expda & Mid(Rmbexp, 2, 1)
End If

If i = Icnt And Val(Mid(Trmb, Icnt, 1)) > 0 Then
Expda = Expda & Mid(Rmbda, Val(Mid(Trmb, Icnt, 1)), 1)
Expda = Expda & Mid(Rmbexp, 1, 1)
End If


If i = Icnt And Mid(Trmb, Icnt, 1) = "0" And Mid(Trmb, Icnt - 1, 1) = "0" Then
Expda = Expda & "整"
End If
Next

 


If Icnt <= 14 Then
Expda = "人民幣" & Expda
RMBChinese = Expda
Else
RMBChinese = "需转换的金额整数长度超过了12位!"
End If

 

End Function

转载于:https://www.cnblogs.com/leme-chen/p/9446838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值