VB.NET 数字转换为汉字金额大写文字函数 小数最多为2位
2010-07-21 23:03
309 查看
代码
''' <summary> ''' 人民币大小写转换。 ''' Add by pwm 2010.07.21 ''' </summary> ''' <param name="r">货币金额</param> ''' <returns>人民币大写字符串</returns> ''' <remarks>超过两位的小数会自动进行四舍五入。</remarks> Public Shared Function ToRMB(ByVal r As Decimal) As String Try If r = 0 Then Return "零元" End If Dim cnShuzi() As String = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"} Dim cnDanwei() As String = {"分", "角", "元", "拾", "佰", "仟", "万", "拾万", "佰万", "仟万", _ "亿", "拾亿", "佰亿", "仟亿", "万亿", "拾万亿", "佰万亿", "仟万亿", "万万亿"} Dim arr() As Char = Decimal.ToInt64(Decimal.Round(r, 2) * 100).ToString().ToCharArray() Array.Reverse(arr) Dim rmb As New stringBuilder For i As Integer = 0 To arr.Length - 1 Dim num As Integer = CInt(arr(i).ToString) If num <> 0 Then If i > 6 And i < 10 And rmb.ToString().IndexOf("万 ") >= 0 Then rmb.Insert(0, cnShuzi(num) + cnDanwei(i)(0)) ElseIf i > 10 And i < 14 And rmb.ToString().IndexOf("亿 ") >= 0 Then rmb.Insert(0, cnShuzi(num) + cnDanwei(i)(0)) ElseIf i > 14 And rmb.ToString().IndexOf("万亿 ") >= 0 Then rmb.Insert(0, cnShuzi(num) + cnDanwei(i).Substring(0, 2)) Else rmb.Insert(0, cnShuzi(num) + cnDanwei(i)) End If Else If i = 2 Then If arr(1) = "0 " Then rmb.Insert(0, "元 ") Else rmb.Insert(0, "元零 ") End If If rmb.Length > 0 Then If rmb(0) <> "零" And rmb(0) <> "元" Then rmb.Insert(0, "零 ") End If End If End If End If Next If rmb(rmb.Length - 1) = "元" Then Return rmb.ToString() + "整" Else Return rmb.ToString() End If Catch ex As Exception Return "数值过大,无法转换! " End Try End Function
相关文章推荐
- asp.net(vb)实现金额转换成大写的函数
- JS 保留2位小数 数字金额转化为文字大写
- 一个数字转换为人民币货币大写字符的函数(vb2005)
- vb.net金额分栏大写、小写
- 人民币金额由阿拉伯数值转换成汉字大写数值的函数
- [源码][VB.Net]数字转大写数字和大写人民币函数
- vb.net 取2位小数
- 我在csdn得分最多的一个帖子:用6行代码写一个将小写金额转成大写的函数
- vb.net常用函数
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 金额的大写方法_把数字转化为人民币的大写汉字
- [VB.NET]VB调用下划线开头的函数
- PHP人民币金额数字转中文大写的函数代码
- [VB.NET]DataGrid控件中分页时,每页显示最多十页索引,其他为
- oracle 根据汉字获取拼音首字母大写函数
- js-练习:输入阿拉伯数字的金额,转换成大写汉字输出
- 一个将数字转换成金额大写的函数
- PHP 数字转换为大写的函数
- VB.NET的一个邮件发送函数