js 阿拉伯数字转中文大写货币
来源:互联网 发布:苹果8plus数据参数 编辑:程序博客网 时间:2024/05/21 19:26
//方式一 function zh(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = "仟佰拾亿仟佰拾万仟佰拾圆角分", str = ""; n += "00"; var p = n.indexOf('.'); if (p >= 0) n = n.substring(0, p) + n.substr(p+1, 2); unit = unit.substr(unit.length - n.length); for (var i=0; i < n.length; i++) str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i); return str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|圆)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^圆零?|零分/g, "").replace(/圆$/g, "圆整");}//方式二function zh(money) {if(money.indexOf('-1') != -1 ){money = money.substring(1);} //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); //对应整数部分扩展单位 var cnIntUnits = new Array('', '万', '亿', '兆'); //对应小数部分单位 var cnDecUnits = new Array('角', '分', '毫', '厘'); //整数金额时后面跟的字符 var cnInteger = '整'; //整型完以后的单位 var cnIntLast = '元'; //最大处理的数字 var maxNum = 999999999999999.9999; //金额整数部分 var integerNum; //金额小数部分 var decimalNum; //输出的中文金额字符串 var chineseStr = ''; //分离金额后用的数组,预定义 var parts; if (money == '') { return ''; } money = parseFloat(money); if (money >= maxNum) { //超出最大处理数字 return ''; } if (money == 0) { chineseStr = cnNums[0] + cnIntLast + cnInteger; return chineseStr; } //转换为字符串 money = money.toString(); if (money.indexOf('.') == -1) { integerNum = money; decimalNum = ''; } else { parts = money.split('.'); integerNum = parts[0]; decimalNum = parts[1].substr(0, 4); } //获取整型部分转换 if (parseInt(integerNum, 10) > 0) { var zeroCount = 0; var IntLen = integerNum.length; for (var i = 0; i < IntLen; i++) { var n = integerNum.substr(i, 1); var p = IntLen - i - 1; var q = p / 4; var m = p % 4; if (n == '0') { zeroCount++; } else { if (zeroCount > 0) { chineseStr += cnNums[0]; } //归零 zeroCount = 0; chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]; } if (m == 0 && zeroCount < 4) { chineseStr += cnIntUnits[q]; } } chineseStr += cnIntLast; } //小数部分 if (decimalNum != '') { var decLen = decimalNum.length; for (var i = 0; i < decLen; i++) { var n = decimalNum.substr(i, 1); if (n != '0') { chineseStr += cnNums[Number(n)] + cnDecUnits[i]; } } } if (chineseStr == '') { chineseStr += cnNums[0] + cnIntLast + cnInteger; } else if (decimalNum == '') { chineseStr += cnInteger; } return chineseStr;}
阅读全文
0 0
- js 阿拉伯数字转中文大写货币
- js 阿拉伯数字转中文大写货币
- js阿拉伯数字转中文大写
- js阿拉伯数字转中文大写
- js阿拉伯数字转中文大写
- js中的阿拉伯数字转中文大写
- 货币金额阿拉伯数字转为中文大写
- 货币金额阿拉伯数字转为中文大写
- 阿拉伯数字转中文大写
- 货币转中文大写
- 人民币阿拉伯数字转中文大写
- 阿拉伯数字金钱转中文大写
- JS控制阿拉伯数字转为中文大写
- JS版数字转中文货币金额大写
- 将阿拉伯数字表示的货币数值转换成以中文大写表示的货币数值
- 阿拉伯数字转大写中文-财务常用
- 阿拉伯数字转中文大写的一个方法
- SAP阿拉伯数字转中文大写函数
- 【比特币】BIP-0009 软叉标准
- SVM之线性不可分
- mysql使用between and处理时间区间不包括右边界问题
- c++ 中vector用法
- 异常:Can't connect to MySQL server (10060)
- js 阿拉伯数字转中文大写货币
- Ubuntu 16.04无线wifi频繁掉线及信号不足解决办法
- Cookie测试的测试点
- 微信支付接口-银行官方通道
- 开源C/C++网络库比较
- 第五周 【项目2
- Rhyme/Linux 手工彻底删除用户展示
- 推送消息制0,清除APP右上角的数字,
- Python3.6——"中国大学排名定向爬虫"实例介绍