js完美转换阿拉伯数字为数字大写(原创)
啥都不说,直接上代码:
- //阿拉伯数字转换为简写汉字
- function Arabia_To_SimplifiedChinese(Num) {
- for (i = Num.length - 1; i >= 0; i--) {
- Num = Num.replace(",", "")//替换Num中的“,”
- Num = Num.replace(" ", "")//替换Num中的空格
- }
- if (isNaN(Num)) { //验证输入的字符是否为数字
- //alert("请检查小写金额是否正确");
- return;
- }
- //字符处理完毕后开始转换,采用前后两部分分别转换
- part = String(Num).split(".");
- newchar = "";
- //小数点前进行转化
- for (i = part[0].length - 1; i >= 0; i--) {
- if (part[0].length > 10) {
- //alert("位数过大,无法计算");
- return "";
- }//若数量超过拾亿单位,提示
- tmpnewchar = ""
- perchar = part[0].charAt(i);
- switch (perchar) {
- case "0": tmpnewchar = "零" + tmpnewchar;break;
- case "1": tmpnewchar = "一" + tmpnewchar; break;
- case "2": tmpnewchar = "二" + tmpnewchar; break;
- case "3": tmpnewchar = "三" + tmpnewchar; break;
- case "4": tmpnewchar = "四" + tmpnewchar; break;
- case "5": tmpnewchar = "五" + tmpnewchar; break;
- case "6": tmpnewchar = "六" + tmpnewchar; break;
- case "7": tmpnewchar = "七" + tmpnewchar; break;
- case "8": tmpnewchar = "八" + tmpnewchar; break;
- case "9": tmpnewchar = "九" + tmpnewchar; break;
- }
- switch (part[0].length - i - 1) {
- case 0: tmpnewchar = tmpnewchar; break;
- case 1: if (perchar != 0) tmpnewchar = tmpnewchar + "十"; break;
- case 2: if (perchar != 0) tmpnewchar = tmpnewchar + "百"; break;
- case 3: if (perchar != 0) tmpnewchar = tmpnewchar + "千"; break;
- case 4: tmpnewchar = tmpnewchar + "万"; break;
- case 5: if (perchar != 0) tmpnewchar = tmpnewchar + "十"; break;
- case 6: if (perchar != 0) tmpnewchar = tmpnewchar + "百"; break;
- case 7: if (perchar != 0) tmpnewchar = tmpnewchar + "千"; break;
- case 8: tmpnewchar = tmpnewchar + "亿"; break;
- case 9: tmpnewchar = tmpnewchar + "十"; break;
- }
- newchar = tmpnewchar + newchar;
- }
- //替换所有无用汉字,直到没有此类无用的数字为止
- while (newchar.search("零零") != -1 || newchar.search("零亿") != -1 || newchar.search("亿万") != -1 || newchar.search("零万") != -1) {
- newchar = newchar.replace("零亿", "亿");
- newchar = newchar.replace("亿万", "亿");
- newchar = newchar.replace("零万", "万");
- newchar = newchar.replace("零零", "零");
- }
- //替换以“一十”开头的,为“十”
- if (newchar.indexOf("一十") == 0) {
- newchar = newchar.substr(1);
- }
- //替换以“零”结尾的,为“”
- if (newchar.lastIndexOf("零") == newchar.length - 1) {
- newchar = newchar.substr(0, newchar.length - 1);
- }
- return newchar;
- }
将上面的代码保存为digital.js文件。引入到如下的html页面。
测试HTML代码:
- <!DOCTYPE html>
- <html>
- <head>
- <meta name="viewport" content="width=device-width" />
- <title>NumberConversion</title>
- <script src="digital.js"></script>
- </head>
- <body>
- <div>
- <input type="text" id="sourcetxt" /><br />
- <input type="button" onclick="NumConvert()" id="converbtn" value="数字大写转换"/> <br />
- <input type="text" id="targettxt" />
- </div>
- <script>
- function NumConvert() {
- try {
- var numtxt = document.getElementById("sourcetxt").value;
- var result = Arabia_To_SimplifiedChinese(numtxt);
- document.getElementById("targettxt").value = result;
- } catch (e) {
- alert(e);
- }
- }
- </script>
- </body>
- </html>
js完美转换阿拉伯数字为数字大写(原创)的更多相关文章
- php把阿拉伯数字转为银行数字大写
php把阿拉伯数字转为银行数字大写 前言:之前在做一个外贸公司的询报价系统时用到了记录关于金额的数据,一般阿拉伯数字都需要转为银行使用的大写数字,在这简单记录一下 /* * 数字金额转换成中文大写金额 ...
- JavaScript进阶(四)js字符串转换成数字的三种方法
js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...
- js字符串转换成数字与数字转换成字符串的实现方法
转载:点击查看地址 js字符串转换成数字 将字符串转换成数字,得用到parseInt函数.parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseInt(' ...
- js字符串转换成数字,数字转换成字符串
转自网络,忘记出处了. js字符串转换成数字 将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数. 举例:parseIn ...
- 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.特 ...
- Java 阿拉伯数字转换为中文大写数字
Java 阿拉伯数字转换为中文大写数字 /** * <html> * <body> * <P> Copyright 1994 JsonInternational&l ...
- xStream完美转换XML、JSON
xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换: 前面有介绍过json-lib这个框架,在线博文:htt ...
- Js完美验证15/18身份证,Js验证身份证,支持15/18位
Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...
- js数值转换
先来几个题吧: var num1 = Number("123blue");var num2 = Number("");var num3 = Number([]) ...
随机推荐
- node环境配置安装(nvm)
在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...
- 转载: Emmet:HTML/CSS代码快速编写神器
Emmet:HTML/CSS代码快速编写神器 因为文章严禁转载,那本着做一个遵纪守法的好公民,我就不转载了,把链接放下面,方便查阅. http://www.iteye.com/news/27580
- [Spring] - 动态设置properties
Spring的jar包用来做动态properties的getter/setter赋值方法: 1:需要的jar包: spring-beans-3.2.0.RC2.jar commons-logging- ...
- JsonResult序列化并保存json文件 以及对json文件读取反序列
项目中我们经常遇到一些经常访问的接口,并且更新及时度不是特别高,那么我们可以利用文件来做一些数据请求的缓存. 这里以微信公众号获取粉丝用户列表为例,我们把微信公众号查到的用户先缓存在文件中,这样在翻页 ...
- 随笔 高质量 C++/C 编程指南
内存分配方式有三种:) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量, static 变量.) 在栈上创建.在执行函数时,函数内局部变量的存储 ...
- Nodejs日志管理包
Nodejs日志管理工具包:log4js 和 winston 1.log4js的使用 1)package.json中加入依赖 "log4js":"~0.6.21" ...
- 正则表达式(转自https://segmentfault.com/a/1190000000699097)
https://segmentfault.com/a/1190000000699097
- asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)
关键: <ClientSideEvents ValueChanged="AgioChanged" /> <div class="col-sm-4 ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
- TIJ读书笔记05-this关键字
TIJ读书笔记05-this关键字 概述 this的用法 static方法 概述 两个对象同时调用一个方法,那么jvm怎么知道是哪个方法调用的呢. 我们在书写的时候会写成a.fun(1) 或者b.fu ...