js将人民币小写金额转换为大写
2018-03-26 14:35
435 查看
人民币大写在线转换工具
以下为es6写法,可以直接在控制栏粘贴运行
/** * 将人民币小写金额转换为大写 * * @class RMB * 示例 let rmb = new RMB() console.log(rmb.transform(2114523.234))// 贰佰壹拾壹万肆仟伍佰贰拾叁元贰角叁分 */ class RMB { constructor() { this.numMap = new Map([[0, '零'], [1, '壹'], [2, '贰'], [3, '叁'], [4, '肆'], [5, '伍'], [6, '陆'], [7, '柒'], [8, '捌'], [9, '玖']]) this.integerMap = new Map([[0, '元'], [1, '拾'], [2, '佰'], [3, '仟'], [4, '万'], [5, '拾'], [6, '佰'], [7, '仟'], [8, '亿']]) this.decimalMap = new Map([[0, '分'], [1, '角']]) this.resultSet = new Set() } /** * 转换 * * @param {number} num 待转换的整数 * @returns * @memberof RMB */ transform(num) { this.resultSet.clear() num = ('' + num).split('.') let integer = num[0], decimal = num[1] ? num[1].substr(0, 2) : [] this.add(integer, this.integerMap).add(decimal, this.decimalMap) return [...this.resultSet].join('') } /** * 转换 * * @param {array} numType * @param {map} mapType * @returns * @memberof RMB */ add(numType, mapType) { let len = numType.length for (let i = 0; i < len; i++) { this.resultSet.add(this.numMap.get(+numType[i]) + (+numType[i] ? mapType.get(len - i - 1) : '')) } return this } } let rmb = new RMB() console.log(rmb.transform(2114523.234))// 贰佰壹拾壹万肆仟伍佰贰拾叁元贰角叁分
相关文章推荐
- JS将人民币小写金额转换为大写
- JS实现将数字金额转换为大写人民币汉字的方法
- 将小写金额转换成人民币大写金额
- JS实现将人民币金额转换为大写的示例代码
- 利用创建型工厂方法模式编写小写数字金额转换为人民币大写C#代码。
- 小写金额转换为人民币大写
- 求小写金额转换成大写金额的函数-js
- js 金额小写转换为大写
- js脚本_小写金额转换成大写(支持千分位格式及负数输入,整数部分可达44位-千正~元,小数部分可达5位-角~丝) AmountInWords(dValue, maxDec)
- JS实现将人民币金额转换为大写的示例代码
- js中如何将小写数字金额转换成大写中文数字
- JS实现人民币小写转换成汉字大写
- js小写金额转换大写
- js 将页面小写金额转换成大写金额
- C#小写数字金额转换成大写人民币金额的算法
- 小写转换大写金额(js脚本)
- js将数字金额转换为大写人民币
- jscript实现的客户端小写金额转换成人民币大写金额(最大千万元位)
- .NET把小写数字金额转换成大写人民币金额的两种算法
- "黑马程序员“将小写金额转换成人民币大写金额