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 相关文章推荐
jQuery中调用WebService方法小结
Mar 28 Javascript
uploadify在Firefox下丢失session问题的解决方法
Aug 07 Javascript
js打造数组转json函数
Jan 14 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
基于jquery animate操作css样式属性小结
Nov 27 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 Javascript
jQuery实现select模糊查询(反射机制)
Jan 14 Javascript
详解如何使用webpack在vue项目中写jsx语法
Nov 08 Javascript
Vue 使用中的小技巧
Apr 26 Javascript
layui表格分页 记录勾选的实例
Sep 02 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
使用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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
php中用foreach来操作数组的代码
2011/07/17 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
jquery滚动条插件jScrollPane的使用介绍
2013/11/08 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
Python的高级Git库 Gittle
2014/09/22 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
django2 快速安装指南分享
2018/01/05 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python3 爬取图片的实例代码
2018/11/06 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
网络安全类面试题
2015/08/01 面试题
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
节能环保家庭事迹材料
2014/08/27 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL