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一些题目的解析
Dec 25 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
Oct 23 Javascript
浅谈javascript面向对象程序设计
Jan 21 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
如何使用jquery easyui创建标签组件
Nov 18 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
如何利用JQuery实现从底部回到顶部的功能
Dec 27 Javascript
vue 怎么创建组件及组件使用方法
Jul 27 Javascript
JS 实现banner图片轮播效果(鼠标事件)
Aug 04 Javascript
select获取下拉框的值 下拉框默认选中方法
Feb 28 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
解决vue项目中某一页面不想引用公共组件app.vue的问题
Aug 14 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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
Python continue语句用法实例
2014/03/11 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
浅析使用Python搭建http服务器
2019/10/27 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
文明城市创建标语
2014/06/16 职场文书
校园安全广播稿范文
2014/09/25 职场文书
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python
Golang数据类型和相互转换
2022/04/12 Golang