JavaScript实现把数字转换成中文


Posted in Javascript onJune 29, 2015
var _change = {
           ary0:["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"],
           ary1:["", "十", "百", "千"],
           ary2:["", "万", "亿", "兆"],
           init:function (name) {
               this.name = name;
           },
           strrev:function () {
               var ary = []
               for (var i = this.name.length; i >= 0; i--) {
                   ary.push(this.name[i])
               }
               return ary.join("");
           }, //倒转字符串。
           pri_ary:function () {
               var $this = this
               var ary = this.strrev();
               var zero = ""
               var newary = ""
               var i4 = -1
               for (var i = 0; i < ary.length; i++) {
                   if (i % 4 == 0) { //首先判断万级单位,每隔四个字符就让万级单位数组索引号递增
                       i4++;
                       newary = this.ary2[i4] + newary; //将万级单位存入该字符的读法中去,它肯定是放在当前字符读法的末尾,所以首先将它叠加入$r中,
                       zero = ""; //在万级单位位置的“0”肯定是不用的读的,所以设置零的读法为空
 
                   }
                   //关于0的处理与判断。
                   if (ary[i] == '0') { //如果读出的字符是“0”,执行如下判断这个“0”是否读作“零”
                       switch (i % 4) {
                           case 0:
                               break;
                           //如果位置索引能被4整除,表示它所处位置是万级单位位置,这个位置的0的读法在前面就已经设置好了,所以这里直接跳过
                           case 1:
                           case 2:
                           case 3:
                               if (ary[i - 1] != '0') {
                                   zero = "零"
                               }
                               ; //如果不被4整除,那么都执行这段判断代码:如果它的下一位数字(针对当前字符串来说是上一个字符,因为之前执行了反转)也是0,那么跳过,否则读作“零”
                               break;
 
                       }
 
                       newary = zero + newary;
                       zero = '';
                   }
                   else { //如果不是“0”
                       newary = this.ary0[parseInt(ary[i])] + this.ary1[i % 4] + newary; //就将该当字符转换成数值型,并作为数组ary0的索引号,以得到与之对应的中文读法,其后再跟上它的的一级单位(空、十、百还是千)最后再加上前面已存入的读法内容。
                   }
 
               }
               if (newary.indexOf("零") == 0) {
                   newary = newary.substr(1)
               }//处理前面的0
               return newary;
           }
       }
 
       //创建class类
       function change() {
           this.init.apply(this, arguments);
       }
       change.prototype = _change
 
//创建实例
       var k = new change("00102040");
       alert(k.pri_ary())
Javascript 相关文章推荐
用 Javascript 验证表单(form)中的单选(radio)值
Sep 08 Javascript
JavaScript.Encode手动解码技巧
Jul 14 Javascript
js Form.elements[i]的使用实例
Nov 13 Javascript
JavaScript函数的4种调用方法详解
Apr 22 Javascript
JS的数组迭代方法
Feb 05 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
Jan 22 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
vue.js 上传图片实例代码
Jun 22 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
Angular2 自定义表单验证器的实现方法
Dec 14 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
Feb 21 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
使用Node.js配合Nginx实现高负载网络
Jun 28 #Javascript
jQuery模拟黑客帝国矩阵效果实例
Jun 28 #Javascript
jQuery往textarea中光标所在位置插入文本的方法
Jun 26 #Javascript
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 #Javascript
JavaScript实现数组随机排序的方法
Jun 26 #Javascript
JavaScript让Textarea支持tab按键的方法
Jun 26 #Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 #Javascript
You might like
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
2017/03/05 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
python检测服务器是否正常
2014/02/16 Python
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
python树的同构学习笔记
2019/09/14 Python
浅析python redis的连接及相关操作
2019/11/07 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
django列表筛选功能的实现代码
2020/03/27 Python
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
六一儿童节主持词
2014/03/21 职场文书
项目申请汇报材料
2014/08/16 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
银行贷款收入证明
2014/10/17 职场文书
个人贷款收入证明
2014/10/26 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
努力学习保证书
2015/02/26 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
党支部评议意见
2015/06/02 职场文书