VB.NET 人民币大小写转换代码
2018-07-20 来源:open-open
此代码主要解决人民币大写显示负值
Sub ChangeSize_Selected(ByVal sender As Object, ByVal e As EventArgs)
panel1.Width = papersize.SelectedValue
End Sub
Function ConvertToRMB(ByVal inputString As String) As String
Dim numList As String = “零壹贰叁肆伍陆柒捌玖”
Dim rmbList As String = “分角元拾佰仟万拾佰仟亿拾佰仟万”
Dim number As Double = 0
Dim tempOutString As String = “”
Try
number = Double.Parse(inputString)
Catch ex As SystemException
ClientScript.RegisterStartupScript(Me.GetType(), “”, GetAlertInfo(“传入参数非数字!”))
‘ MessageBox.Show(“”)
End Try
If number > 9999999999999.99 Then
Return “超出范围的人民币值”
End If
Dim tempNumberString As String = Convert.ToInt64( number * 100).ToString()
Dim tempNmberLength As Integer = tempNumberString.Length
Dim i As Integer = 0
If tempNumberString.StartsWith(“-”) Then
tempOutString = “负”
i = i + 1
end if
While i < tempNmberLength
Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1))
Dim oneNumberChar As String = numList.Substring(oneNumber, 1)
Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength – i – 1, 1)
If Not (oneNumberChar = “零”) Then
tempOutString += oneNumberChar + oneNumberUnit
Else
If oneNumberUnit = “亿” OrElse oneNumberUnit = “万” OrElse oneNumberUnit = “元” OrElse oneNumberUnit = “零” Then
While tempOutString.EndsWith(“零”)
tempOutString = tempOutString.Substring(0, tempOutString.Length – 1)
End While
End If
If oneNumberUnit = “亿” OrElse (oneNumberUnit = “万” AndAlso Not tempOutString.EndsWith(“亿”)) OrElse oneNumberUnit = “元” Then
tempOutString += oneNumberUnit
Else
If Not tempOutString Is Nothing Then
Dim tempEnd As Boolean = tempOutString.EndsWith(“亿”)
Dim zeroEnd As Boolean = tempOutString.EndsWith(“零”)
If tempOutString.Length > 1 Then
Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length – 2, 2).StartsWith(“零”)
If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then
tempOutString += oneNumberChar
End If
Else
If Not zeroEnd AndAlso Not tempEnd Then
tempOutString += oneNumberChar
End If
End If
End If
End If
End If
i += 1
End While
If Not tempOutString Is Nothing Then
While tempOutString.EndsWith(“零”)
tempOutString = tempOutString.Substring(0, tempOutString.Length – 1)
End While
While tempOutString.EndsWith(“元”)
tempOutString = tempOutString + “整”
End While
Return tempOutString
Else
Return “”
End If
End Function
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐