JavaScript数字转换为中文的方法

来源:互联网 发布:淘宝客佣金链接 编辑:程序博客网 时间:2024/05/18 01:48

今天研究了这个小程序,不算难,但是开始的时候很不好分析,分享给大家

<!doctype html><html> <head>  <title>Document</title>  <script type="text/javascript">var _convertNum = {/*单位和数字的定义*/arrNum : ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"],arrUnitEle : ["","拾","佰","仟"],arrUnitAdv : ["","万","亿","兆"],init : function (oriNum) {this.oriNum = oriNum;while(this.oriNum.indexOf('0') == 0){this.oriNum = this.oriNum.substr(1);}},inversion : function() {return this.oriNum.split("").reverse().join("");},convert : function () {var invNum = this.inversion();var newNumber = '';var zero = '';var unit = -1;for(var i = 0; i< invNum.length; i++) {/*对万级单位判断,每隔4个数字就让万级数组索引加1*/if (i % 4 == 0) {unit++;newNumber = this.arrUnitAdv[unit] + newNumber;zero = '';}/*处理0*/if(invNum[i] == '0'){switch (i % 4){case 0: break;case 1:                                                case 2:                                                case 3:if(invNum[i - 1] != '0'){zero = '零';}break;}newNumber = zero + newNumber;zero = '';}else{newNumber = this.arrNum[parseInt(invNum[i])] + this.arrUnitEle[i % 4] + newNumber;}}return newNumber;}}/*定义类*/function changeNum(){this.init.apply(this, arguments);}changeNum.prototype = _convertNum;/*创建对象实例*/function change(){var number = document.getElementById("number").value;var c = new changeNum(number);alert(c.convert());}  </script> </head> <body><input type="text" id="number" /><br/><input type="button" value="转换" onclick="change()"> </body></html>

能完成基本的转换操作,如果发现BUG欢迎大家提出来

0 0
原创粉丝点击