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