数字金额转为大写金额(C#)
- /// <summary>金额转大写
- ///
- /// </summary>
- public class MoneyConvertChinese
- {
- /// <summary>金额转大写
- ///
- /// </summary>
- /// <param name="LowerMoney"></param>
- /// <returns></returns>
- public string MoneyToChinese(string LowerMoney)
- {
- string functionReturnValue = null;
- bool IsNegative = false; // 是否是负数
- if (LowerMoney.Trim().Substring(0, 1) == "-")
- {
- // 是负数则先转为正数
- LowerMoney = LowerMoney.Trim().Remove(0, 1);
- IsNegative = true;
- }
- string strLower = null;
- string strUpart = null;
- string strUpper = null;
- int iTemp = 0;
- // 保留两位小数 123.489→123.49 123.4→123.4
- LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
- if (LowerMoney.IndexOf(".") > 0)
- {
- if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
- {
- LowerMoney = LowerMoney + "0";
- }
- }
- else
- {
- LowerMoney = LowerMoney + ".00";
- }
- strLower = LowerMoney;
- iTemp = 1;
- strUpper = "";
- while (iTemp <= strLower.Length)
- {
- switch (strLower.Substring(strLower.Length - iTemp, 1))
- {
- case ".":
- strUpart = "圆";
- break;
- case "0":
- strUpart = "零";
- break;
- case "1":
- strUpart = "壹";
- break;
- case "2":
- strUpart = "贰";
- break;
- case "3":
- strUpart = "叁";
- break;
- case "4":
- strUpart = "肆";
- break;
- case "5":
- strUpart = "伍";
- break;
- case "6":
- strUpart = "陆";
- break;
- case "7":
- strUpart = "柒";
- break;
- case "8":
- strUpart = "捌";
- break;
- case "9":
- strUpart = "玖";
- break;
- }
- switch (iTemp)
- {
- case 1:
- strUpart = strUpart + "分";
- break;
- case 2:
- strUpart = strUpart + "角";
- break;
- case 3:
- strUpart = strUpart + "";
- break;
- case 4:
- strUpart = strUpart + "";
- break;
- case 5:
- strUpart = strUpart + "拾";
- break;
- case 6:
- strUpart = strUpart + "佰";
- break;
- case 7:
- strUpart = strUpart + "仟";
- break;
- case 8:
- strUpart = strUpart + "万";
- break;
- case 9:
- strUpart = strUpart + "拾";
- break;
- case 10:
- strUpart = strUpart + "佰";
- break;
- case 11:
- strUpart = strUpart + "仟";
- break;
- case 12:
- strUpart = strUpart + "亿";
- break;
- case 13:
- strUpart = strUpart + "拾";
- break;
- case 14:
- strUpart = strUpart + "佰";
- break;
- case 15:
- strUpart = strUpart + "仟";
- break;
- case 16:
- strUpart = strUpart + "万";
- break;
- default:
- strUpart = strUpart + "";
- break;
- }
- strUpper = strUpart + strUpper;
- iTemp = iTemp + 1;
- }
- 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(0, 1) == "圆")
- {
- strUpper = strUpper.Substring(1, strUpper.Length - 1);
- }
- if (strUpper.Substring(0, 1) == "零")
- {
- strUpper = strUpper.Substring(1, strUpper.Length - 1);
- }
- if (strUpper.Substring(0, 1) == "角")
- {
- strUpper = strUpper.Substring(1, strUpper.Length - 1);
- }
- if (strUpper.Substring(0, 1) == "分")
- {
- strUpper = strUpper.Substring(1, strUpper.Length - 1);
- }
- if (strUpper.Substring(0, 1) == "整")
- {
- strUpper = "零圆整";
- }
- functionReturnValue = strUpper;
- if (IsNegative == true)
- {
- return "负" + functionReturnValue;
- }
- else
- {
- return functionReturnValue;
- }
- }
- }
/// <summary>金额转大写/// /// </summary>public class MoneyConvertChinese{/// <summary>金额转大写/// /// </summary>/// <param name="LowerMoney"></param>/// <returns></returns>public string MoneyToChinese(string LowerMoney){string functionReturnValue = null;bool IsNegative = false; // 是否是负数if (LowerMoney.Trim().Substring(0, 1) == "-"){// 是负数则先转为正数LowerMoney = LowerMoney.Trim().Remove(0, 1);IsNegative = true;}string strLower = null;string strUpart = null;string strUpper = null;int iTemp = 0;// 保留两位小数 123.489→123.49 123.4→123.4LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();if (LowerMoney.IndexOf(".") > 0){if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2){LowerMoney = LowerMoney + "0";}}else{LowerMoney = LowerMoney + ".00";}strLower = LowerMoney;iTemp = 1;strUpper = "";while (iTemp <= strLower.Length){switch (strLower.Substring(strLower.Length - iTemp, 1)){case ".":strUpart = "圆";break;case "0":strUpart = "零";break;case "1":strUpart = "壹";break;case "2":strUpart = "贰";break;case "3":strUpart = "叁";break;case "4":strUpart = "肆";break;case "5":strUpart = "伍";break;case "6":strUpart = "陆";break;case "7":strUpart = "柒";break;case "8":strUpart = "捌";break;case "9":strUpart = "玖";break;}switch (iTemp){case 1:strUpart = strUpart + "分";break;case 2:strUpart = strUpart + "角";break;case 3:strUpart = strUpart + "";break;case 4:strUpart = strUpart + "";break;case 5:strUpart = strUpart + "拾";break;case 6:strUpart = strUpart + "佰";break;case 7:strUpart = strUpart + "仟";break;case 8:strUpart = strUpart + "万";break;case 9:strUpart = strUpart + "拾";break;case 10:strUpart = strUpart + "佰";break;case 11:strUpart = strUpart + "仟";break;case 12:strUpart = strUpart + "亿";break;case 13:strUpart = strUpart + "拾";break;case 14:strUpart = strUpart + "佰";break;case 15:strUpart = strUpart + "仟";break;case 16:strUpart = strUpart + "万";break;default:strUpart = strUpart + "";break;}strUpper = strUpart + strUpper;iTemp = iTemp + 1;}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(0, 1) == "圆"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "零"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "角"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "分"){strUpper = strUpper.Substring(1, strUpper.Length - 1);}if (strUpper.Substring(0, 1) == "整"){strUpper = "零圆整";}functionReturnValue = strUpper;if (IsNegative == true){return "负" + functionReturnValue;}else{return functionReturnValue;}}}
测试代码:
- static void Main(string[] args)
- {
- Console.Write("请输入要转成大写的数字:");
- string str = Console.ReadLine();
- Console.WriteLine("大写:" + new MoneyConvertChinese().MoneyToChinese(str));
- Console.ReadLine();
- }
转载于:https://www.cnblogs.com/xiachufeng/archive/2011/03/08/1977681.html
数字金额转为大写金额(C#)相关推荐
- JS数字金额转为大写金额
2019独角兽企业重金招聘Python工程师标准>>> /** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var frac ...
- Java将数字金额转为大写
首先将数字金额定义为字符串类型,然后再转为int或double型:判断是否是负数或有小数点,再进行下一步处理. 代码如下: package com.study;import com.sun.deplo ...
- 数字金额转大写金额 工具类
数字金额转大写金额 工具类 代码如下: /** 金额转为汉字大写* @return* @throws* @author TomatoYan*/ public class NumberToCN {/*汉 ...
- 数字金额转化大写金额
/*** 数字金额转化大写金额* @param val string/number(字符串可包含'¥'和多余的0)* @returns {*}* 原生方法*///代码如下所示:function con ...
- JQuery 数字金额转换为大写金额
web JQuery 数字金额转换为大写金额 网址:https://blog.csdn.net/qq_36894527/article/details/80675658 function Arabia ...
- PHP数字金额转换大写金额(20191122再次修改版)
今天在博客园看到有文章在讲"PHP数字金额转换大写金额", 于是我抽时间也写了一个. 不多说, 把代码发上来: /*** 将数值金额转换为中文大写金额* @param $amoun ...
- 使用JS将数字金额转为大写的人民币
使用JS将数字金额转为大写的人民币 刚好今天有时间写文章,就想到了上次做项目时做到的一个需求,拿出来分享一下. 如何将数字金额转为大写人民币? 一点思路 : 封装方法 列出大写人民币的所需的单位 设置 ...
- java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”
前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** * @Title: Conve ...
- java 金额转中文_Java实现 将数字金额转为大写中文金额
前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分. 代码: /** * @Title: ConvertUpMoney * @D ...
- Java实现 “ 将数字金额转为大写中文金额 ”
最困难的事情就是认识自己! 个人博客,欢迎访问! 前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. ...
最新文章
- 【入门必读】产品经理如何培养自己的逻辑思维方式
- 服务器管理器运行添加角色向导,Windows Server 2008 服务器角色的添加与管理
- leetcode 81 Search in Rotated Sorted Array II ----- java
- oracle 数据库查询多条数据的一列值
- 短信发送的流程,硬编码在了服务方法里面,优化方案
- Python数据分析Numpy库方法简介(三)
- data layui table 排序_使用pandas的pivot_table方法统计2019年各省份GDP最大最小值及其对应的所在城市...
- 报告:2020年NFT总市值达5200万美元
- ARCHICAD 25 for Mac(cad绘图软件)
- Vue阿里云物流API
- 读取.xls文件报错:XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b‘MIME-Ver
- 如何使用 QEMU 中的虚拟串口
- 求解TSP问题(python)(穷举、最近邻居法、opt-2法、动态规划、插入法)
- Rounded Numbers
- linux usb 全向麦克风,推崇金典款的适合80平方中小会议室使用的USB有线会议阵列麦克风...
- 2022最新全网千图网素材解析网站工作原理,附带成品。
- javascript 判断当前浏览器版本
- 提取html中文字符,教你怎么在Html页面提取全部汉字
- Sentence-BERT详解
- BSM模型心得,python实现方案
热门文章
- sqlite 常用数据类型
- Http Core学习(Http Components 翻译和学习)
- 如何求matlab的in(2.0375),东南大学Matlab作业1.doc
- java r日历系统_Java GrerorianCalendar 实现日历查询
- java容器输入_Java 容器初识篇
- Redis Zui佳实践:7个维度+43条使用规范,带你彻底玩转Redis
- [转载]Java程序占用 CPU 过高怎么排查
- 组态王通过串口服务器通讯smart200_实例讲解通过代码调试串口通讯的方法
- 【渝粤题库】国家开放大学2021春2737市场调查与商情预测题目
- 【Python实例第4讲】填补缺失值