将人民币的数字表示转化成大写表示
来源:互联网 发布:笔记本可以开淘宝店吗 编辑:程序博客网 时间:2024/04/30 22:35
'将人民币的数字表示转化成大写表示(VB.NET版)
'本代码参考chenyu001
'将人民币的数字表示转化成大写表示(C#版)
'http://dev.csdn.net/article/28/28977.shtm
'改的不多,但愿这些改动没让原作者发怒
Public Class ChineseNum
'输入字串
Private _InputString As String
'输出字串,如果无效则输出错误信息
Private _OutString As String
'判断输出字串是否有效
Private _Valiad As Boolean
Public WriteOnly Property InputString() As String
Set(ByVal Value As String)
_InputString = Value
ConvertToChineseNum()
End Set
End Property
Public ReadOnly Property Valiad() As Boolean
Get
Return _Valiad
End Get
End Property
Public ReadOnly Property OutString() As String
Get
Return _OutString
End Get
End Property
Private Sub ConvertToChineseNum()
Dim numList As String = "零壹贰叁肆伍陆柒捌玖"
Dim rmbList As String = "分角元拾佰仟万拾佰仟亿拾佰仟万"
Dim number As Double = 0
Dim tempOutString As String
Try
number = Double.Parse(Me._InputString)
Catch ex As SystemException
Me._OutString = "传入参数非数字!"
Me._Valiad = False
Return
End Try
If number > 9999999999999.99 Then
Me._Valiad = False
Me._OutString = "超出范围的人民币值"
Return
End If
Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString()
Dim tempNmberLength As Integer = tempNumberString.Length
Dim i As Integer = 0
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
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
i += 1
End While
While tempOutString.EndsWith("零")
tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
End While
While tempOutString.EndsWith("元")
tempOutString = tempOutString + "整"
End While
Me._OutString = tempOutString
Me._Valiad = True
End Sub
End Class
'则试方法
Dim m As New ChineseNum
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
m.InputString = Me.TextBox1.Text
If m.Valiad Then
Me.TextBox2.Text = m.OutString
Me.TextBox3.Text = String.Empty
Else
Me.TextBox2.Text = String.Empty
Me.TextBox3.Text = m.OutString
End If
End Sub
- 将人民币的数字表示转化成大写表示
- 将人民币的数字转化成大写表示 [asp]
- 将人民币的数字转化成大写表示
- 将人民币的数字转化成大写表示
- 将人民币的数字表示转化成大写表示(C#版)
- 将人民币的数字表示转化成大写表示(C#版)
- 将人民币的数字表示转化成大写表示(C#版)
- 将人民币的数字表示转化成大写表示(VB.NET版) (原chenyu001C#版)
- 将人民币的数字表示转化成大写表示(C#版) (转)
- 将人民币的数字表示转化成大写表示(C#版)
- 将人民币的数字表示转化成大写表示(C#版)
- 将阿拉伯数字转化成大写的人民币数字
- 将阿拉伯数字转化成大写的人民币数字
- 将阿拉伯数字转化成大写的人民币数字
- 将阿拉伯数字转化成大写的人民币数字
- 将数字字符串人民币转化成大写字符串人民币
- 将小写数字转化为大写人民币
- C#通用类库--数字转为人民币汉字大写表示
- 在ASP.NET中读写Excel文件
- C#获取QQ在线状态代码
- 通过WMI获得硬件信息
- 页面执行时间
- 使用 NetBeans IDE 5.5 创建漂亮的 GUI
- 将人民币的数字表示转化成大写表示
- ASP.net 验证码(C#)
- 自定义的工具栏中使用engine提供的内建命令
- 一个功能齐全的DataGrid分页例子
- Asp.NET常用函数
- 您可能不知道的.Net2.0小技巧
- 在Tomcat中配置DataSource
- 牛市炒股
- 在java中取得当前的系统时间并且转化成自己想要的格式