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 相关文章推荐
var与Javascript变量隐式声明
Sep 17 Javascript
div模拟滚动条效果示例代码
Oct 16 Javascript
jQuery实现多按钮单击变色
Nov 27 Javascript
如何动态加载外部Javascript文件
Dec 02 Javascript
实例详解AngularJS实现无限级联动菜单
Jan 15 Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
Nov 01 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 Javascript
layui数据表格跨行自动合并的例子
Sep 02 Javascript
Javascript前端下载后台传来的文件流代码实例
Aug 18 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
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
js获取系统的根路径实现介绍
2013/09/08 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
jQuery中detach()方法用法实例
2014/12/25 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
Python语法分析之字符串格式化
2019/06/13 Python
python绘制直方图和密度图的实例
2019/07/08 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
校园文化建设方案
2014/02/03 职场文书
公职人员索取回扣检举信
2014/04/04 职场文书
寒假安全保证书
2015/02/28 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
什么是SOLID
2022/03/24 Javascript
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript