C#方法

废话不多说,直接上代码:

/// <summary>
/// 数字转换为大写人民币表示
/// </summary>
/// <param name="strMoney"></param>
public string MoneyToChinese(string strCurrentDigit)
{         // 1. 字符串切分string integral = "";  // 整数部分string dec = "";  // 小数部分string[] strDigitList = strCurrentDigit.Split(new char[] { '.' });if (strDigitList.Length > 1){integral = strDigitList[0];dec = strDigitList[1];}else{integral = strDigitList[0];dec = "";}// 2. 数据准备         string[] radices = {"","拾", "佰", "仟"};string[] bigRadices = {"","万","亿"};string[] decimals = {"角","分"};string CN_DOLLAR = "元";string CN_SYMBOL = "";  // 人民币string CN_INTEGER = "整";string d = "";string outputCharacters = "";int zeroCount = 0;int p = 0;int quotient = 0;int modulus = 0;// 3. 整数部分if (integral.Length > 0) {zeroCount = 0;for (int i = 0; i < integral.Length; i++){p = integral.Length - i - 1;d = integral.Substring(i, 1);quotient = p / 4;modulus = p % 4;if (d == "0"){zeroCount++;}else{if (zeroCount > 0){outputCharacters += "0";}zeroCount = 0;outputCharacters += d + radices[modulus];}if (modulus == 0 && zeroCount < 4){outputCharacters += bigRadices[quotient];}}if (!string.IsNullOrEmpty(outputCharacters)){ outputCharacters += CN_DOLLAR; }}// 4. 小数部分           if (dec != "") {for (int i = 0; i < dec.Length; i++) {d = dec.Substring(i, 1);if (d != "0") {outputCharacters += d + decimals[i];}}}// Confirm and return the final output string:if (outputCharacters == "") {outputCharacters = "0" + CN_DOLLAR;}if (dec == "") {outputCharacters += CN_INTEGER;}                       return outputCharacters;
}        

javaScript方法

/*** 数字转换为人民币大写*/convertCurrency: function(currencyDigits) {// Constants: var MAXIMUM_NUMBER = 99999999999.99;// Predefine the radix characters and currency symbols for output: var CN_ZERO = "0";var CN_ONE = "1";var CN_TWO = "2";var CN_THREE = "3";var CN_FOUR = "4";var CN_FIVE = "5";var CN_SIX = "6";var CN_SEVEN = "7";var CN_EIGHT = "8";var CN_NINE = "9";var CN_TEN = "十";var CN_HUNDRED = "佰";var CN_THOUSAND = "仟";var CN_TEN_THOUSAND = "万";var CN_HUNDRED_MILLION = "亿";    var CN_DOLLAR = "元";var CN_TEN_CENT = "角";var CN_CENT = "分";var CN_INTEGER = "整";// Variables: var integral; // Represent integral part of digit number. var decimal; // Represent decimal part of digit number. var outputCharacters; // The output result. var parts;var digits, radices, bigRadices, decimals;var zeroCount;var i, p, d;var quotient, modulus;// Validate input string: currencyDigits = currencyDigits.toString();if (currencyDigits == "") {alert("请输入小写金额!");return "";}if (currencyDigits.match(/[^,.\d]/) != null) {alert("小写金额含有无效字符!");return "";}if ((currencyDigits).match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) {alert("小写金额的格式不正确!");return "";}// Normalize the format of input digits: currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters. currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning. // Assert the number is not greater than the maximum number. if (Number(currencyDigits) > MAXIMUM_NUMBER) {alert("金额过大,应小于1000亿元!");return "";}// Process the coversion from currency digits to characters: // Separate integral and decimal parts before processing coversion: parts = currencyDigits.split(".");if (parts.length > 1) {integral = parts[0];decimal = parts[1];// Cut down redundant decimal digits that are after the second. decimal = decimal.substr(0, 2);} else {integral = parts[0];decimal = "";}// Prepare the characters corresponding to the digits: digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE);radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION);decimals = new Array(CN_TEN_CENT, CN_CENT);// Start processing: outputCharacters = "";// Process integral part if it is larger than 0: if (Number(integral) > 0) {zeroCount = 0;for (i = 0; i < integral.length; i++) {p = integral.length - i - 1;d = integral.substr(i, 1);quotient = p / 4;modulus = p % 4;if (d == "0") {zeroCount++;} else {if (zeroCount > 0) {outputCharacters += digits[0];}zeroCount = 0;outputCharacters += digits[Number(d)] + radices[modulus];}if (modulus == 0 && zeroCount < 4) {outputCharacters += bigRadices[quotient];zeroCount = 0;}}outputCharacters += CN_DOLLAR;}// Process decimal part if there is: if (decimal != "") {for (i = 0; i < decimal.length; i++) {d = decimal.substr(i, 1);if (d != "0") {outputCharacters += digits[Number(d)] + decimals[i];}}}// Confirm and return the final output string: if (outputCharacters == "") {outputCharacters = CN_ZERO + CN_DOLLAR;}if (decimal == "") {outputCharacters += CN_INTEGER;}return outputCharacters;},

C#数字转人民币大写相关推荐

  1. .net 将数字转换为人民币大写

    程序中用到将数字转换为大写人民币,在网上找了一个方法,记录下来. using System.Text; using System.Text.RegularExpressions; ///<sum ...

  2. js 数字转人民币大写

    目前网上有许多的数字转人民币大写功能,但是在某些数字上就回出现错误, 比如501356,这个转换之后,有的会转换成 "伍拾万零壹仟叁佰伍拾陆" ,单位万和千紧密相连,中间是不需要 ...

  3. ORACLE数字转换人民币大写

    ORACLE 数字转换人民币大写 示例. 数字                    :183066999230.68 人民币大写        :壹仟捌佰参拾亿陆仟陆佰玖拾玖万玖仟贰佰参拾圆陆角捌分 ...

  4. php人民币函数,PHP数字转人民币大写函数

    PHP数字转人民币大写函数2018-04-23 09:59 如果你是一位财务人员,肯定遇到过一个问题,就是遇到一串数字,要将其写成大写的人民币,有时很容易搞错. 那么有没有什么方法可以准确的解决呢? ...

  5. 把数字转换为人民币大写(用于银行系统)

    大二是老师让做一个综合试验::用C++实现简易银行系统,其中用到在打印流水账时要求把金额转换为人民币大写...当时傻里吧唧的,,,随便拷贝了个同学的应付老师交了了事...前一段一个大二的弟兄向我提起银 ...

  6. 浮点数字转换为人民币大写字体

    新开博客,贴上一段平常时写的代码,权当记录和分享. 下面是代码块(有比较详细的注释,转换过程中需要注意的是0的处理): //浮点数转换为人民币大写字体 import java.util.Scanner ...

  7. sql 数字转人民币大写函数(两种方法)

    create function UpperRMB(@num numeric(14,2))returns @rmb table(亿 varchar(2),仟万 varchar(2),佰万 varchar ...

  8. oracle 数字转人民币大写函数

    oralce中用于将数据转换为人民币大写的函数.. function to_rmbdx(i_money in varchar2) return varchar2 is i       number; ...

  9. C#,数字转人民币大写方法

    using  System; namespace  Test {     /**//// <summary>     /// Rmb 的摘要说明.     /// </summary ...

最新文章

  1. 中国首份自动驾驶路测报告:自主车企全面落后
  2. 扯谈spring mvc之WebApplicationContext的继承关系
  3. 七段液晶数字识别-处理程序
  4. MTCNN人脸及特征点检测---代码应用详解c++
  5. php 获取文件后缀_php获取文件后缀的9种方法
  6. JVM 调优实战--垃圾回收的常见算法
  7. kali linux 截图 软件,Kali-Linux-Tools-Interface:针对Kali Linux的图形化Web接口
  8. 2019年12月计算机统考答案,2019年12月计算机等级WPS考前冲刺练习题及答案
  9. 软件测试人员的三重境界
  10. 附录:保护模式下的各个“对象”
  11. 为什么要简化代码书写
  12. mupdf不支持x64_电脑安装win10的速度很慢,是不是没有制作支持UEFI的启动U盘?
  13. 开源 免费 java CMS - FreeCMS1.5 标签 ajaxStore
  14. Oracle9i中监视索引的使用
  15. arcgis悬挂点修改_ArcGIS对进行数据拓扑修改
  16. IT人的职业生涯规划
  17. beetl html模板,Beetl模板引擎之自定义html标签
  18. Windows10系统无法更改默认浏览器等默认设置
  19. matlab基础学习——基础数学函数(持续更新)
  20. Survey of Aspect-based Sentiment Analysis Datasets

热门文章

  1. 低代码:助力乡村振兴事业开启“智慧模式”
  2. 非接触物体尺寸形态测量_质量工程师必须了解的测量常识,你不知道怎么行
  3. 自动生成代码工具 模板工具类
  4. Unity3d 等比例缩放小地图制作
  5. 【Python】字典生成式
  6. MATLAB代码:考虑绿证交易和综合需求响应的综合能源系统优化调度
  7. 学习笔记|生成对抗网络(Generative Adversarial Networks,GAN)——让机器学习具有创造力
  8. Swift-尾随闭包
  9. 设置eclipse护眼背景色---豆沙绿
  10. 谈谈Processing 3D世界 五