Javascript阿拉伯数字转中文

  1. template.helper('_toChinese', function (number) {
  2. /*
  3. * 单位
  4. */
  5. var units = '个十百千万@#%亿^&~';
  6. /*
  7. * 字符
  8. */
  9. var chars = '零一二三四五六七八九';
  10. var a = (number + '').split(''), s = [];
  11. if (a.length > 12) {
  12. throw new Error('too big');
  13. } else {
  14. for ( var i = 0, j = a.length - 1; i <= j; i++) {
  15. if (j == 1 || j == 5 || j == 9) {// 两位数 处理特殊的 1*
  16. if (i == 0) {
  17. if (a[i] != '1')
  18. s.push(chars.charAt(a[i]));
  19. } else {
  20. s.push(chars.charAt(a[i]));
  21. }
  22. } else {
  23. s.push(chars.charAt(a[i]));
  24. }
  25. if (i != j) {
  26. s.push(units.charAt(j - i));
  27. }
  28. }
  29. }
  30. // return s;
  31. return s.join('').replace(/零([十百千万亿@#%^&~])/g, function(m, d, b) {// 优先处理 零百 零千 等
  32. b = units.indexOf(d);
  33. if (b != -1) {
  34. if (d == '亿')
  35. return d;
  36. if (d == '万')
  37. return d;
  38. if (a[j - b] == '0')
  39. return '零'
  40. }
  41. return '';
  42. }).replace(/零+/g, '零').replace(/零([万亿])/g, function(m, b) {// 零百 零千处理后 可能出现 零零相连的 再处理结尾为零的
  43. return b;
  44. }).replace(/亿[万千百]/g, '亿').replace(/[零]$/, '').replace(/[@#%^&~]/g, function(m) {
  45. return {
  46. '@' : '十',
  47. '#' : '百',
  48. '%' : '千',
  49. '^' : '十',
  50. '&' : '百',
  51. '~' : '千'
  52. }[m];
  53. }).replace(/([亿万])([一-九])/g, function(m, d, b, c) {
  54. c = units.indexOf(d);
  55. if (c != -1) {
  56. if (a[j - c] == '0')
  57. return d + '零' + b
  58. }
  59. return m;
  60. });
  61. });

  

Javascript阿拉伯数字转中文的更多相关文章

  1. 用Python递归解决阿拉伯数字转为中文财务数字格式的问题(2)--打开思路的一种方法

    几天前自己写了个将阿拉伯数字转为中文财务数字的程序.用的递归,不幸的是它是树形递归. 虽然实际过程中不太可能出现金额数字大到让Python递归栈溢出,但是始终是一块心病,这玩意终究在理论上是受限制的. ...

  2. .Net C# 阿拉伯数字转为中文金额数字

    一个练习,将阿拉伯数字转为中文金额数字,针对包含整数的金额有问题 代码: public string ReturnStr(string inputNum) { ", }; string[] ...

  3. webstorm-前端javascript开发神器中文教程和技巧分享(转)

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享. webstorm8.0.3中文汉化版下载: 百度网盘下载:http://pan.baidu ...

  4. Java 阿拉伯数字转换为中文大写数字

    Java 阿拉伯数字转换为中文大写数字 /** * <html> * <body> * <P> Copyright 1994 JsonInternational&l ...

  5. C# 阿拉伯数字转换为中文数字/中文数字转换为阿拉伯数字

    项目中经常会格式化数据,转换数字的使用情况比较多,记录一下数字转换的方法! 如果需要转换为繁体中文,将数组里的汉字换成繁体中文即可. 1.阿拉伯数字转换为中文数字 /// <summary> ...

  6. PHP及Javascript 正则判断中文(转)

    UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的.比如: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test( ...

  7. 【转载】webstorm-前端javascript开发神器中文教程和技巧分享

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享. webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu. ...

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

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

  9. webstorm-前端javascript开发神器中文教程和技巧分享(转)

    webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享. webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu. ...

随机推荐

  1. java判断传进来的是否是图片

    public static void main(String[] args) throws IOException { String filePath = "C:\\Users\\80975 ...

  2. Google Maps瓦片(tile)地图文件下载(1-11层级)

    整理硬盘时,发现一份去年下载的谷歌地图瓦片文件,整理并分享给大家. 地图来源:Google Maps(应该是国内谷歌地图) 采集时间:2017年6月 采集范围:0-6层级世界范围:7-11层级中国范围 ...

  3. EditText自动换行显示内容

    默认的EditText是不会自动换行的,通过代码来实现: [java] view plain copy EditText editText = new EditText(this); //设置Edit ...

  4. Spark机器学习(3):保序回归算法

    保序回归即给定了一个无序的数字序列,通过修改其中元素的值,得到一个非递减的数字序列,要求是使得误差(预测值和实际值差的平方)最小.比如在动物身上实验某种药物,使用了不同的剂量,按理说剂量越大,有效的比 ...

  5. 关于 TVM

    偶然间对 arm 中 mali 显示核心感兴趣,找到的 TVM.将了解到的信息做个备忘. TVM 是 Tensor Virtual Machine 的所写? 官网上,TVM 定义自己为一种 Inter ...

  6. tensorflow 中 reduce_sum 理解

    定义如下: reduce_sum( input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None ) redu ...

  7. 预防 app crash 之 unrecognized selector

    处理unrecognized selector异常原因 假如封装一个方法,在其他模块调用该方法时,传入参数不匹配则crash.比如下面的方法:本应该传入的参数类型为NSMutableArray,如果传 ...

  8. Mac MySQL 数据库配置(关系型数据库管理系统)

    前言 MySQL 关系型数据库管理系统. 1.配置准备工作 1)配置数据库准备工作 下载相关软件 mysql-5.7.21-1-macos10.13-x86_64.dmg mysql-workbenc ...

  9. More than the maximum number of request parameters

    前些时间,我们的的一个管理系统出现了点问题,原本运行的好好的功能,业务方突然讲不行了,那个应用已经运行了好多年了,并且对应的代码最近谁也没改动过,好奇怪的问题,为了解决此问题,我们查看了日志,发现请求 ...

  10. ES6,扩展运算符的用途

    ES6的扩展运算符可以说是非常使用的,在给多参数函数传参,替代Apply,合并数组,和解构配合进行赋值方面提供了很好的便利性. 扩展运算符就是三个点“...”,就是将实现了Iterator 接口的对象 ...