本文共 1347 字,大约阅读时间需要 4 分钟。
大家在工作中经常遇到需要将数据转换成汉字的情况,比如 1234转为 一千二百三十四的形式
代码如下:
1、定义变量
var chnNumChar = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九"];vat chnUnitSection = ["", "万", "亿", "万亿", "亿亿"];var chnUnitChar = ["", "十", "百", "千"];
2、获取中文
/** * 获取中文 * @param num * @returns {*} */SectionToChinese: function (section) { var ori = section; var strIns = ''; var chnStr = ''; var unitPos = 0; var zero = true; while (section > 0) { var v = section % 10; if (v === 0) { if (!zero) { zero = true; chnStr = this.chnNumChar[v] + chnStr; } } else { zero = false; strIns = this.chnNumChar[v]; strIns += this.chnUnitChar[unitPos]; chnStr = strIns + chnStr; } unitPos++; section = Math.floor(section / 10); } if (ori < 20) { chnStr = chnStr.replace('一十', '十'); } return chnStr;}
3、 数字转中文
/** * 数字转中文 * @param num * @returns {*} */numberToChanie: function (num) { var unitPos = 0; var strIns = '', chnStr = ''; var needZero = false; if (num === 0) { return JsUlits.chnNumChar[0]; } while (num > 0) { var section = num % 10000; if (needZero) { chnStr = this.chnNumChar[0] + chnStr; } strIns = this.SectionToChinese(section); strIns += (section !== 0) ? this.chnUnitSection[unitPos] : this.chnUnitSection[0]; chnStr = strIns + chnStr; needZero = (section < 1000) && (section > 0); num = Math.floor(num / 10000); unitPos++; } return chnStr;}
转载地址:http://uoyai.baihongyu.com/