1. function changeMoneyToChinese(money){
  2. var cnNums = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //汉字的数字
  3. var cnIntRadice = new Array("","拾","佰","仟"); //基本单位
  4. var cnIntUnits = new Array("","万","亿","兆"); //对应整数部分扩展单位
  5. var cnDecUnits = new Array("角","分","毫","厘"); //对应小数部分单位
  6. //var cnInteger = "整"; //整数金额时后面跟的字符
  7. var cnIntLast = "元"; //整型完以后的单位
  8. var maxNum = 999999999999999.9999; //最大处理的数字
  9. var IntegerNum; //金额整数部分
  10. var DecimalNum; //金额小数部分
  11. var ChineseStr=""; //输出的中文金额字符串
  12. var parts; //分离金额后用的数组,预定义
  13. if( money == "" ){
  14. return "";
  15. }
  16. money = parseFloat(money);
  17. if( money >= maxNum ){
  18. $.alert('超出最大处理数字');
  19. return "";
  20. }
  21. if( money == 0 ){
  22. //ChineseStr = cnNums[0]+cnIntLast+cnInteger;
  23. ChineseStr = cnNums[0]+cnIntLast
  24. //document.getElementById("show").value=ChineseStr;
  25. return ChineseStr;
  26. }
  27. money = money.toString(); //转换为字符串
  28. if( money.indexOf(".") == -1 ){
  29. IntegerNum = money;
  30. DecimalNum = '';
  31. }else{
  32. parts = money.split(".");
  33. IntegerNum = parts[0];
  34. DecimalNum = parts[1].substr(0,4);
  35. }
  36. if( parseInt(IntegerNum,10) > 0 ){//获取整型部分转换
  37. zeroCount = 0;
  38. IntLen = IntegerNum.length;
  39. for( i=0;i<IntLen;i++ ){
  40. n = IntegerNum.substr(i,1);
  41. p = IntLen - i - 1;
  42. q = p / 4;
  43. m = p % 4;
  44. if( n == "0" ){
  45. zeroCount++;
  46. }else{
  47. if( zeroCount > 0 ){
  48. ChineseStr += cnNums[0];
  49. }
  50. zeroCount = 0; //归零
  51. ChineseStr += cnNums[parseInt(n)]+cnIntRadice[m];
  52. }
  53. if( m==0 && zeroCount<4 ){
  54. ChineseStr += cnIntUnits[q];
  55. }
  56. }
  57. ChineseStr += cnIntLast;
  58. //整型部分处理完毕
  59. }
  60. if( DecimalNum!= '' ){//小数部分
  61. decLen = DecimalNum.length;
  62. for( i=0; i<decLen; i++ ){
  63. n = DecimalNum.substr(i,1);
  64. if( n != '0' ){
  65. ChineseStr += cnNums[Number(n)]+cnDecUnits[i];
  66. }
  67. }
  68. }
  69. if( ChineseStr == '' ){
  70. //ChineseStr += cnNums[0]+cnIntLast+cnInteger;
  71. ChineseStr += cnNums[0]+cnIntLast;
  72. }/* else if( DecimalNum == '' ){
  73. ChineseStr += cnInteger;
  74. ChineseStr += cnInteger;
  75. } */
  76. return ChineseStr;
  77. }

js转换金额为中文大写的更多相关文章

  1. JS把数字金额转换成中文大写数字的函数

    //把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...

  2. js 将数字转换成中文大写

    //完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五. const toChinesNum = ...

  3. python初学者笔记(2):阿拉伯数字转换成中文大写

    题:输入一个数字,转换成中文大写的写法 可运行的程序(Python 2.7.9): # -*- coding: utf-8 -*- #在python2的py文件里面写中文,必须要添加一行声明文件编码的 ...

  4. js阿拉伯数字转中文大写 方法重多

    方法一  function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = &qu ...

  5. js金额转中文大写

    基础参数: var AIW_number = {0:'零', 1:'壹', 2:'贰', 3:'叁', 4:'肆', 5:'伍', 6:'陆', 7:'柒', 8:'捌', 9:'玖'} var AI ...

  6. js阿拉伯数字转中文大写

    function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = "千百 ...

  7. excel小写金额转换成中文大写

    假设 假设数据在A1单元格 任何一个个单元格输入公式=TEXT(INT(A1),"[dbnum2]")&"元"&IF(INT(A1*10)-IN ...

  8. JS 转换数字为大写

    function toUpper(n) { n = n+''; var unit = '十百千万'; var num = '一二三四五六七八九 '; var array = new Array(); ...

  9. 完成将 toChineseNum, 可以将数字转换成中文大写的表示,处理到万级别,例如 toChineseNum(12345),返回 一万二千三百四十五

    const toChineseNum = (num) => { const unit = ['', '十', '百', '千'] const counts = ['零', '一', '二', ' ...

随机推荐

  1. src与href的区别

    href: 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接. src:是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其 ...

  2. day03 set集合,文件操作,字符编码以及函数式编程

    嗯哼,第三天了 我们来get 下新技能,集合,个人认为集合就是用来list 比较的,就是把list 转换为set 然后做一些列表的比较啊求差值啊什么的. 先看怎么生成集合: list_s = [1,3 ...

  3. 常见的Linux目录及其含义

    /                                   系统根目录,通常不会在这里存放文件 . /bin                              二进制目录,存放许多 ...

  4. 面试问题整理Andorid版本 date: 2017-1-12 21:14:36 categories: 技术

    Acitivty的四中启动模式与特点. standard:默认的启动模式 singleTop:适合那种接受通知启动的页面,比如新闻客户端之类的,可能会给你推送好几次 ,但是每次都是打开同一张页面调用o ...

  5. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  6. js多少时间之前

    <?php $time = time()*1000; $end_time = strtotime("2018-01-01")*1000; $time_ago = $time ...

  7. android.os.NetworkOnMainThreadException解决办法

    代码改变世界 在发起Http请求的Activity里面的onCreate函数里面添加如下代码: StrictMode.setThreadPolicy(new StrictMode.ThreadPoli ...

  8. div固定在屏幕底部

    项目中需要实现div一直显示在屏幕的底部,不管页面有多长或者多端都需要满足. 在网上找的用js实现的,移动时会闪动,效果不是特别好.也可能是没找到好的. 相比js,我更希望使用css实现 1 < ...

  9. JDBC 学习笔记(二)—— 详解 JDBC 的四种驱动类型

    JDBC 有四种驱动类型,分别是: JDBC-ODBC 桥(JDBC-ODBC bridge driver plus ODBC driver) 本地 API 驱动(Native-API partly ...

  10. HDU——1596find the safest road(邻接矩阵+优先队列SPFA)

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...