在C#中将金额转换成中文大写金额
具体代码如下:
- /// <summary>
- /// 金额转换成中文大写金额
- /// </summary>
- /// <param name="LowerMoney">eg:10.74</param>
- /// <returns></returns>
- public static string MoneyToUpper(string LowerMoney)
- {
- string functionReturnValue = null;
- bool IsNegative = false; // 是否是负数
- if (LowerMoney.Trim().Substring(, ) == "-")
- {
- // 是负数则先转为正数
- LowerMoney = LowerMoney.Trim().Remove(, );
- IsNegative = true;
- }
- string strLower = null;
- string strUpart = null;
- string strUpper = null;
- int iTemp = ;
- // 保留两位小数 123.489→123.49 123.4→123.4
- LowerMoney = Math.Round(double.Parse(LowerMoney), ).ToString();
- if (LowerMoney.IndexOf(".") > )
- {
- if (LowerMoney.IndexOf(".") == LowerMoney.Length - )
- {
- LowerMoney = LowerMoney + "";
- }
- }
- else
- {
- LowerMoney = LowerMoney + ".00";
- }
- strLower = LowerMoney;
- iTemp = ;
- strUpper = "";
- while (iTemp <= strLower.Length)
- {
- switch (strLower.Substring(strLower.Length - iTemp, ))
- {
- case ".":
- strUpart = "圆";
- break;
- case "":
- strUpart = "零";
- break;
- case "":
- strUpart = "壹";
- break;
- case "":
- strUpart = "贰";
- break;
- case "":
- strUpart = "叁";
- break;
- case "":
- strUpart = "肆";
- break;
- case "":
- strUpart = "伍";
- break;
- case "":
- strUpart = "陆";
- break;
- case "":
- strUpart = "柒";
- break;
- case "":
- strUpart = "捌";
- break;
- case "":
- strUpart = "玖";
- break;
- }
- switch (iTemp)
- {
- case :
- strUpart = strUpart + "分";
- break;
- case :
- strUpart = strUpart + "角";
- break;
- case :
- strUpart = strUpart + "";
- break;
- case :
- strUpart = strUpart + "";
- break;
- case :
- strUpart = strUpart + "拾";
- break;
- case :
- strUpart = strUpart + "佰";
- break;
- case :
- strUpart = strUpart + "仟";
- break;
- case :
- strUpart = strUpart + "万";
- break;
- case :
- strUpart = strUpart + "拾";
- break;
- case :
- strUpart = strUpart + "佰";
- break;
- case :
- strUpart = strUpart + "仟";
- break;
- case :
- strUpart = strUpart + "亿";
- break;
- case :
- strUpart = strUpart + "拾";
- break;
- case :
- strUpart = strUpart + "佰";
- break;
- case :
- strUpart = strUpart + "仟";
- break;
- case :
- strUpart = strUpart + "万";
- break;
- default:
- strUpart = strUpart + "";
- break;
- }
- strUpper = strUpart + strUpper;
- iTemp = iTemp + ;
- }
- strUpper = strUpper.Replace("零拾", "零");
- strUpper = strUpper.Replace("零佰", "零");
- strUpper = strUpper.Replace("零仟", "零");
- strUpper = strUpper.Replace("零零零", "零");
- strUpper = strUpper.Replace("零零", "零");
- strUpper = strUpper.Replace("零角零分", "整");
- strUpper = strUpper.Replace("零分", "整");
- strUpper = strUpper.Replace("零角", "零");
- strUpper = strUpper.Replace("零亿零万零圆", "亿圆");
- strUpper = strUpper.Replace("亿零万零圆", "亿圆");
- strUpper = strUpper.Replace("零亿零万", "亿");
- strUpper = strUpper.Replace("零万零圆", "万圆");
- strUpper = strUpper.Replace("零亿", "亿");
- strUpper = strUpper.Replace("零万", "万");
- strUpper = strUpper.Replace("零圆", "圆");
- strUpper = strUpper.Replace("零零", "零");
- // 对壹圆以下的金额的处理
- if (strUpper.Substring(, ) == "圆")
- {
- strUpper = strUpper.Substring(, strUpper.Length - );
- }
- if (strUpper.Substring(, ) == "零")
- {
- strUpper = strUpper.Substring(, strUpper.Length - );
- }
- if (strUpper.Substring(, ) == "角")
- {
- strUpper = strUpper.Substring(, strUpper.Length - );
- }
- if (strUpper.Substring(, ) == "分")
- {
- strUpper = strUpper.Substring(, strUpper.Length - );
- }
- if (strUpper.Substring(, ) == "整")
- {
- strUpper = "零圆整";
- }
- functionReturnValue = strUpper;
- if (IsNegative == true)
- {
- return "负" + functionReturnValue;
- }
- else
- {
- return functionReturnValue;
- }
- }
使用:
- Console.WriteLine(MoneyToUpper("20.22"));
结果:
贰拾圆贰角贰分
在C#中将金额转换成中文大写金额的更多相关文章
- c#金额转换成中文大写金额
2018-08-24 转别人 c#金额转换成中文大写金额 /// <summary> /// 金额转换成中文大写金额 /// </summary> /// <param ...
- PHP 数字金额转换成中文大写金额的函数 数字转中文
/** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($ ...
- c#金额转换成中文大写金额 .Net开发Windows服务
c#金额转换成中文大写金额 2018-08-24 转别人 c#金额转换成中文大写金额 /// <summary> /// 金额转换成中文大写金额 /// </summary> ...
- java阿拉伯数字表示的金额转换成中文大写金额
最大数字要处理到千亿也就是12位整数部分我们可以分成3段处理,xxxx亿,xxxx万,xxxx元,然后小数部分比较好处理我们发现0比较难处理什么时候会出现零呢那就是两个数字之间出现一个或多个零那么数字 ...
- 在C#中将数字转换成中文
上篇我们讲了在MSSQL中将数字转换成中文,这篇我们讲讲在C#中将数字转换成中文 下篇将讲一下如何将金额转换成中文金额,废话不多说,具体代码如下: /// <summary> /// 数字 ...
- JS把数字金额转换成中文大写数字的函数
//把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...
- excel小写金额转换成中文大写
假设 假设数据在A1单元格 任何一个个单元格输入公式=TEXT(INT(A1),"[dbnum2]")&"元"&IF(INT(A1*10)-IN ...
- 在MSSQL中将数字转换成中文
具体代码如下: CREATE FUNCTION [dbo].[fn_NumberToChinese] (@number INT) ) AS BEGIN ); ); ); SET @res = ''; ...
- JavaScript将输入的数字金额转换成对应的中文大写金额
// 将输入的数字金额转换成对应的中文大写金额 // idNumber输入的数字金额,idCHN输出的中文大写金额 function TransformNumberIntoCHN(idNumber, ...
随机推荐
- 嵌入式(Embedded System)笔记 —— Cortex-M3 Introduction and Basics(上)
随着课内的学习,我想把每节课所学记录下来,以作查阅.以饲读者.由于我所上的是英文班课程,因此我将把关键术语的英文给出,甚至有些内容直接使用英文. 本次所介绍内容是关于Cortex-M3的基础内容. - ...
- 孤荷凌寒自学python第七天 列表的复制与序列的基本运算
孤荷凌寒自学python第七天 列表的复制与序列的基本运算 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步语音:https://www.ximalaya.com/keji/191030 ...
- 孤荷凌寒自学python第五天初识python的列表
孤荷凌寒自学python第五天 列表 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 粗俗地区分列表,可以这样理解,定义或print列表后显示时,列表中的各元素都是用一个方括号[]括起来的. ...
- linux 环境下mysql忽略大小写
mysql数据库在window环境下默认是忽略大小写的,而linux环境中则相反,数据库移植过去后可能会影响到应用工程的正常使用. 解决方法: 用root帐号登录后,在/etc/my.cnf 中的[m ...
- Linux网卡驱动程序对ethtool的支持和实现
Linux 的一个显著特点就是其强大的网络功能,Linux 几乎支持所有的网络协议,并在这些协议基础上提供了丰富的应用.对 Linux 网络管理的重要性不言而喻,这些管理依赖于网络工具,比如最常用的 ...
- django ORM中的表关系
多对一: 为了方便理解,两个表之间使用ForeignKey连接时,使用ForeignKey的字段所在的表为从表,被ForeignKey连接的表为主表. 使用场景:书和出版社之间的关系,一本书只能由一个 ...
- [转] mysql分区性能初探
本文转自:http://www.cnblogs.com/acpp/archive/2010/08/09/1795464.html 一, 分区概念 分区允许根据指定的规则,跨文件系统分配单个 ...
- 网站前后台分离 图片 flash 视频 等文件的共享问题
在网上找了,没有说到点子上的,不详细 问了有经验的同事,要建立 文件服务器,就是一个IIS 下的新网站,网站是共享图片 文件使用的专用网站 后台上传的图片保存在 文件服务器即 文件共享专用的网站目录地 ...
- MySQL常用客户端 命令
登录MySQL mysql -h localhost -uroot -p 授权指定用户访问指定数据库 GRANT ALL ON cookbook.* TO 'cbuser'@'localhost' I ...
- Struts1 Spring2 iBatis2 框架的集成
这个是属于比较老的框架了,奈何现在公司用的产品就是如此,闲来就搭一个集成框架吧 依赖jar包 antlr-.jar aspectj-.jar aspectjrt.jar aspectjweaver-. ...