数字金额转为大写金额(C#)
看视频的时候看到视频里有讲怎么把数字金额转成大写的,对着视频的代码打了一遍,测试成功,先记下来,以备后用!

源代码复制(IE有效)打印关于
  1. /// <summary>金额转大写
  2. ///
  3. /// </summary>
  4. public class MoneyConvertChinese
  5. {
  6. /// <summary>金额转大写
  7. ///
  8. /// </summary>
  9. /// <param name="LowerMoney"></param>
  10. /// <returns></returns>
  11. public string MoneyToChinese(string LowerMoney)
  12. {
  13. string functionReturnValue = null;
  14. bool IsNegative = false; // 是否是负数
  15. if (LowerMoney.Trim().Substring(0, 1) == "-")
  16. {
  17. // 是负数则先转为正数
  18. LowerMoney = LowerMoney.Trim().Remove(0, 1);
  19. IsNegative = true;
  20. }
  21. string strLower = null;
  22. string strUpart = null;
  23. string strUpper = null;
  24. int iTemp = 0;
  25. // 保留两位小数 123.489→123.49  123.4→123.4
  26. LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
  27. if (LowerMoney.IndexOf(".") > 0)
  28. {
  29. if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
  30. {
  31. LowerMoney = LowerMoney + "0";
  32. }
  33. }
  34. else
  35. {
  36. LowerMoney = LowerMoney + ".00";
  37. }
  38. strLower = LowerMoney;
  39. iTemp = 1;
  40. strUpper = "";
  41. while (iTemp <= strLower.Length)
  42. {
  43. switch (strLower.Substring(strLower.Length - iTemp, 1))
  44. {
  45. case ".":
  46. strUpart = "圆";
  47. break;
  48. case "0":
  49. strUpart = "零";
  50. break;
  51. case "1":
  52. strUpart = "壹";
  53. break;
  54. case "2":
  55. strUpart = "贰";
  56. break;
  57. case "3":
  58. strUpart = "叁";
  59. break;
  60. case "4":
  61. strUpart = "肆";
  62. break;
  63. case "5":
  64. strUpart = "伍";
  65. break;
  66. case "6":
  67. strUpart = "陆";
  68. break;
  69. case "7":
  70. strUpart = "柒";
  71. break;
  72. case "8":
  73. strUpart = "捌";
  74. break;
  75. case "9":
  76. strUpart = "玖";
  77. break;
  78. }
  79. switch (iTemp)
  80. {
  81. case 1:
  82. strUpart = strUpart + "分";
  83. break;
  84. case 2:
  85. strUpart = strUpart + "角";
  86. break;
  87. case 3:
  88. strUpart = strUpart + "";
  89. break;
  90. case 4:
  91. strUpart = strUpart + "";
  92. break;
  93. case 5:
  94. strUpart = strUpart + "拾";
  95. break;
  96. case 6:
  97. strUpart = strUpart + "佰";
  98. break;
  99. case 7:
  100. strUpart = strUpart + "仟";
  101. break;
  102. case 8:
  103. strUpart = strUpart + "万";
  104. break;
  105. case 9:
  106. strUpart = strUpart + "拾";
  107. break;
  108. case 10:
  109. strUpart = strUpart + "佰";
  110. break;
  111. case 11:
  112. strUpart = strUpart + "仟";
  113. break;
  114. case 12:
  115. strUpart = strUpart + "亿";
  116. break;
  117. case 13:
  118. strUpart = strUpart + "拾";
  119. break;
  120. case 14:
  121. strUpart = strUpart + "佰";
  122. break;
  123. case 15:
  124. strUpart = strUpart + "仟";
  125. break;
  126. case 16:
  127. strUpart = strUpart + "万";
  128. break;
  129. default:
  130. strUpart = strUpart + "";
  131. break;
  132. }
  133. strUpper = strUpart + strUpper;
  134. iTemp = iTemp + 1;
  135. }
  136. strUpper = strUpper.Replace("零拾", "零");
  137. strUpper = strUpper.Replace("零佰", "零");
  138. strUpper = strUpper.Replace("零仟", "零");
  139. strUpper = strUpper.Replace("零零零", "零");
  140. strUpper = strUpper.Replace("零零", "零");
  141. strUpper = strUpper.Replace("零角零分", "整");
  142. strUpper = strUpper.Replace("零分", "整");
  143. strUpper = strUpper.Replace("零角", "零");
  144. strUpper = strUpper.Replace("零亿零万零圆", "亿圆");
  145. strUpper = strUpper.Replace("亿零万零圆", "亿圆");
  146. strUpper = strUpper.Replace("零亿零万", "亿");
  147. strUpper = strUpper.Replace("零万零圆", "万圆");
  148. strUpper = strUpper.Replace("零亿", "亿");
  149. strUpper = strUpper.Replace("零万", "万");
  150. strUpper = strUpper.Replace("零圆", "圆");
  151. strUpper = strUpper.Replace("零零", "零");
  152. // 对壹圆以下的金额的处理
  153. if (strUpper.Substring(0, 1) == "圆")
  154. {
  155. strUpper = strUpper.Substring(1, strUpper.Length - 1);
  156. }
  157. if (strUpper.Substring(0, 1) == "零")
  158. {
  159. strUpper = strUpper.Substring(1, strUpper.Length - 1);
  160. }
  161. if (strUpper.Substring(0, 1) == "角")
  162. {
  163. strUpper = strUpper.Substring(1, strUpper.Length - 1);
  164. }
  165. if (strUpper.Substring(0, 1) == "分")
  166. {
  167. strUpper = strUpper.Substring(1, strUpper.Length - 1);
  168. }
  169. if (strUpper.Substring(0, 1) == "整")
  170. {
  171. strUpper = "零圆整";
  172. }
  173. functionReturnValue = strUpper;
  174. if (IsNegative == true)
  175. {
  176. return "负" + functionReturnValue;
  177. }
  178. else
  179. {
  180. return functionReturnValue;
  181. }
  182. }
  183. }
   /// <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;}}}

测试代码:

源代码复制(IE有效)打印关于
  1. static void Main(string[] args)
  2. {
  3. Console.Write("请输入要转成大写的数字:");
  4. string str = Console.ReadLine();
  5. Console.WriteLine("大写:" + new MoneyConvertChinese().MoneyToChinese(str));
  6. Console.ReadLine();
  7. }

转载于:https://www.cnblogs.com/xiachufeng/archive/2011/03/08/1977681.html

数字金额转为大写金额(C#)相关推荐

  1. JS数字金额转为大写金额

    2019独角兽企业重金招聘Python工程师标准>>> /** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var frac ...

  2. Java将数字金额转为大写

    首先将数字金额定义为字符串类型,然后再转为int或double型:判断是否是负数或有小数点,再进行下一步处理. 代码如下: package com.study;import com.sun.deplo ...

  3. 数字金额转大写金额 工具类

    数字金额转大写金额 工具类 代码如下: /** 金额转为汉字大写* @return* @throws* @author TomatoYan*/ public class NumberToCN {/*汉 ...

  4. 数字金额转化大写金额

    /*** 数字金额转化大写金额* @param val string/number(字符串可包含'¥'和多余的0)* @returns {*}* 原生方法*///代码如下所示:function con ...

  5. JQuery 数字金额转换为大写金额

    web JQuery 数字金额转换为大写金额 网址:https://blog.csdn.net/qq_36894527/article/details/80675658 function Arabia ...

  6. PHP数字金额转换大写金额(20191122再次修改版)

    今天在博客园看到有文章在讲"PHP数字金额转换大写金额", 于是我抽时间也写了一个. 不多说, 把代码发上来: /*** 将数值金额转换为中文大写金额* @param $amoun ...

  7. 使用JS将数字金额转为大写的人民币

    使用JS将数字金额转为大写的人民币 刚好今天有时间写文章,就想到了上次做项目时做到的一个需求,拿出来分享一下. 如何将数字金额转为大写人民币? 一点思路 : 封装方法 列出大写人民币的所需的单位 设置 ...

  8. java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”

    前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** * @Title: Conve ...

  9. java 金额转中文_Java实现 将数字金额转为大写中文金额

    前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分. 代码: /** * @Title: ConvertUpMoney * @D ...

  10. Java实现 “ 将数字金额转为大写中文金额 ”

    最困难的事情就是认识自己! 个人博客,欢迎访问! 前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. ...

最新文章

  1. 【入门必读】产品经理如何培养自己的逻辑思维方式
  2. 服务器管理器运行添加角色向导,Windows Server 2008 服务器角色的添加与管理
  3. leetcode 81 Search in Rotated Sorted Array II ----- java
  4. oracle 数据库查询多条数据的一列值
  5. 短信发送的流程,硬编码在了服务方法里面,优化方案
  6. Python数据分析Numpy库方法简介(三)
  7. data layui table 排序_使用pandas的pivot_table方法统计2019年各省份GDP最大最小值及其对应的所在城市...
  8. 报告:2020年NFT总市值达5200万美元
  9. ARCHICAD 25 for Mac(cad绘图软件)
  10. Vue阿里云物流API
  11. 读取.xls文件报错:XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b‘MIME-Ver
  12. 如何使用 QEMU 中的虚拟串口
  13. 求解TSP问题(python)(穷举、最近邻居法、opt-2法、动态规划、插入法)
  14. Rounded Numbers
  15. linux usb 全向麦克风,推崇金典款的适合80平方中小会议室使用的USB有线会议阵列麦克风...
  16. 2022最新全网千图网素材解析网站工作原理,附带成品。
  17. javascript 判断当前浏览器版本
  18. 提取html中文字符,教你怎么在Html页面提取全部汉字
  19. Sentence-BERT详解
  20. BSM模型心得,python实现方案

热门文章

  1. sqlite 常用数据类型
  2. Http Core学习(Http Components 翻译和学习)
  3. 如何求matlab的in(2.0375),东南大学Matlab作业1.doc
  4. java r日历系统_Java GrerorianCalendar 实现日历查询
  5. java容器输入_Java 容器初识篇
  6. Redis Zui佳实践:7个维度+43条使用规范,带你彻底玩转Redis
  7. [转载]Java程序占用 CPU 过高怎么排查
  8. 组态王通过串口服务器通讯smart200_实例讲解通过代码调试串口通讯的方法
  9. 【渝粤题库】国家开放大学2021春2737市场调查与商情预测题目
  10. 【Python实例第4讲】填补缺失值