加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net rdlc 自定义函数"把数字转换为大写中文"

发布时间:2020-12-17 07:55:11 所属栏目:百科 来源:网络整理
导读:在.net平台的rdlc中,可以使用自定义方法来扩充报表功能,比如常见的 ”把数字转换为大写中文“ 网上找了很久发现这篇不错 原文 后来细心测试发现存在一个bug,原文也有人评论有bug,可是原作者一直没更正代码 研究了一下代码,自行修改如下:直接上代码(用

在.net平台的rdlc中,可以使用自定义方法来扩充报表功能,比如常见的 ”把数字转换为大写中文“

网上找了很久发现这篇不错 原文

后来细心测试发现存在一个bug,原文也有人评论有bug,可是原作者一直没更正代码

研究了一下代码,自行修改如下:直接上代码(用 vb 写的,红色部分为修改代码)

Function CNMoney(money As Double) As String
Dim str_Money = money.ToString()
Dim str_China As [String]() = {"分","角","元","拾","佰","仟",_
"万","亿",_
"佰","兆","仟"}
Dim str_Number As [String]() = {"零","壹","贰","叁","肆","伍",_
"陆","柒","捌","玖"}
Dim M As [String] = ""
Dim mark As Integer
''不正常数据
If InStr(Right(str_Money,2),".") > 0 Then
mark = 0
Else
mark = 1
End If

Dim isPoint As Boolean = False
If str_Money.IndexOf(".") <> -1 Then
str_Money = str_Money.Remove(str_Money.IndexOf("."),1)
isPoint = True
End If
For i As Integer = str_Money.Length To 1 Step -1
Dim MyData As Integer = Convert.ToInt16(str_Money(str_Money.Length - i).ToString())
M += str_Number(MyData)
If isPoint = True Then
M += str_China(i - mark) Else M += str_China(i + 1) End If Next Return M End Function

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读