啥都不说,直接上代码:

  1. //阿拉伯数字转换为简写汉字
  2. function Arabia_To_SimplifiedChinese(Num) {
  3. for (i = Num.length - 1; i >= 0; i--) {
  4. Num = Num.replace(",", "")//替换Num中的“,”
  5. Num = Num.replace(" ", "")//替换Num中的空格
  6. }
  7. if (isNaN(Num)) { //验证输入的字符是否为数字
  8. //alert("请检查小写金额是否正确");
  9. return;
  10. }
  11. //字符处理完毕后开始转换,采用前后两部分分别转换
  12. part = String(Num).split(".");
  13. newchar = "";
  14. //小数点前进行转化
  15. for (i = part[0].length - 1; i >= 0; i--) {
  16. if (part[0].length > 10) {
  17. //alert("位数过大,无法计算");
  18. return "";
  19. }//若数量超过拾亿单位,提示
  20. tmpnewchar = ""
  21. perchar = part[0].charAt(i);
  22. switch (perchar) {
  23. case "0": tmpnewchar = "零" + tmpnewchar;break;
  24. case "1": tmpnewchar = "一" + tmpnewchar; break;
  25. case "2": tmpnewchar = "二" + tmpnewchar; break;
  26. case "3": tmpnewchar = "三" + tmpnewchar; break;
  27. case "4": tmpnewchar = "四" + tmpnewchar; break;
  28. case "5": tmpnewchar = "五" + tmpnewchar; break;
  29. case "6": tmpnewchar = "六" + tmpnewchar; break;
  30. case "7": tmpnewchar = "七" + tmpnewchar; break;
  31. case "8": tmpnewchar = "八" + tmpnewchar; break;
  32. case "9": tmpnewchar = "九" + tmpnewchar; break;
  33. }
  34. switch (part[0].length - i - 1) {
  35. case 0: tmpnewchar = tmpnewchar; break;
  36. case 1: if (perchar != 0) tmpnewchar = tmpnewchar + "十"; break;
  37. case 2: if (perchar != 0) tmpnewchar = tmpnewchar + "百"; break;
  38. case 3: if (perchar != 0) tmpnewchar = tmpnewchar + "千"; break;
  39. case 4: tmpnewchar = tmpnewchar + "万"; break;
  40. case 5: if (perchar != 0) tmpnewchar = tmpnewchar + "十"; break;
  41. case 6: if (perchar != 0) tmpnewchar = tmpnewchar + "百"; break;
  42. case 7: if (perchar != 0) tmpnewchar = tmpnewchar + "千"; break;
  43. case 8: tmpnewchar = tmpnewchar + "亿"; break;
  44. case 9: tmpnewchar = tmpnewchar + "十"; break;
  45. }
  46. newchar = tmpnewchar + newchar;
  47. }
  48. //替换所有无用汉字,直到没有此类无用的数字为止
  49. while (newchar.search("零零") != -1 || newchar.search("零亿") != -1 || newchar.search("亿万") != -1 || newchar.search("零万") != -1) {
  50. newchar = newchar.replace("零亿", "亿");
  51. newchar = newchar.replace("亿万", "亿");
  52. newchar = newchar.replace("零万", "万");
  53. newchar = newchar.replace("零零", "零");
  54. }
  55. //替换以“一十”开头的,为“十”
  56. if (newchar.indexOf("一十") == 0) {
  57. newchar = newchar.substr(1);
  58. }
  59. //替换以“零”结尾的,为“”
  60. if (newchar.lastIndexOf("零") == newchar.length - 1) {
  61. newchar = newchar.substr(0, newchar.length - 1);
  62. }
  63. return newchar;
  64. }

将上面的代码保存为digital.js文件。引入到如下的html页面。

测试HTML代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="width=device-width" />
  5. <title>NumberConversion</title>
  6. <script src="digital.js"></script>
  7. </head>
  8. <body>
  9. <div>
  10. <input type="text" id="sourcetxt" /><br />
  11. <input type="button" onclick="NumConvert()" id="converbtn" value="数字大写转换"/> <br />
  12. <input type="text" id="targettxt" />
  13. </div>
  14. <script>
  15. function NumConvert() {
  16. try {
  17. var numtxt = document.getElementById("sourcetxt").value;
  18. var result = Arabia_To_SimplifiedChinese(numtxt);
  19. document.getElementById("targettxt").value = result;
  20.  
  21. } catch (e) {
  22. alert(e);
  23. }
  24. }
  25. </script>
  26. </body>
  27. </html>

js完美转换阿拉伯数字为数字大写(原创)的更多相关文章

  1. php把阿拉伯数字转为银行数字大写

    php把阿拉伯数字转为银行数字大写 前言:之前在做一个外贸公司的询报价系统时用到了记录关于金额的数据,一般阿拉伯数字都需要转为银行使用的大写数字,在这简单记录一下 /* * 数字金额转换成中文大写金额 ...

  2. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

  3. js字符串转换成数字与数字转换成字符串的实现方法

    转载:点击查看地址 js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt(' ...

  4. js字符串转换成数字,数字转换成字符串

    转自网络,忘记出处了. js字符串转换成数字 将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseIn ...

  5. js进阶正则表达式7点数字字母空格(w d s)(小写表原意,大写表反义)(特殊字符要加反斜杠:var reg22=/\W/g)

    js进阶正则表达式7点数字字母空格(w d s)(小写表原意,大写表反义)(特殊字符要加反斜杠:var reg22=/\W/g) 一.总结 1.w d s,word digital space 2.特 ...

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

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

  7. xStream完美转换XML、JSON

    xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换: 前面有介绍过json-lib这个框架,在线博文:htt ...

  8. Js完美验证15/18身份证,Js验证身份证,支持15/18位

    Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...

  9. js数值转换

    先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...

随机推荐

  1. node环境配置安装(nvm)

    在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...

  2. 转载: Emmet:HTML/CSS代码快速编写神器

    Emmet:HTML/CSS代码快速编写神器 因为文章严禁转载,那本着做一个遵纪守法的好公民,我就不转载了,把链接放下面,方便查阅. http://www.iteye.com/news/27580

  3. [Spring] - 动态设置properties

    Spring的jar包用来做动态properties的getter/setter赋值方法: 1:需要的jar包: spring-beans-3.2.0.RC2.jar commons-logging- ...

  4. JsonResult序列化并保存json文件 以及对json文件读取反序列

    项目中我们经常遇到一些经常访问的接口,并且更新及时度不是特别高,那么我们可以利用文件来做一些数据请求的缓存. 这里以微信公众号获取粉丝用户列表为例,我们把微信公众号查到的用户先缓存在文件中,这样在翻页 ...

  5. 随笔 高质量 C++/C 编程指南

    内存分配方式有三种:) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量, static 变量.) 在栈上创建.在执行函数时,函数内局部变量的存储 ...

  6. Nodejs日志管理包

    Nodejs日志管理工具包:log4js 和 winston 1.log4js的使用 1)package.json中加入依赖 "log4js":"~0.6.21" ...

  7. 正则表达式(转自https://segmentfault.com/a/1190000000699097)

    https://segmentfault.com/a/1190000000699097

  8. asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)

      关键: <ClientSideEvents ValueChanged="AgioChanged" />   <div class="col-sm-4 ...

  9. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  10. TIJ读书笔记05-this关键字

    TIJ读书笔记05-this关键字 概述 this的用法 static方法 概述 两个对象同时调用一个方法,那么jvm怎么知道是哪个方法调用的呢. 我们在书写的时候会写成a.fun(1) 或者b.fu ...