码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript数字金额转中文大写金额

时间:2016-04-11 18:49:11      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

function numberToChineseCapital(number) {
    if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(number)){
        return ‘数字格式不正确!‘;
    }
 
    number += ‘00‘;
 
    var unit = ‘千百十亿千百十万千百十元角分‘,
        pointIndex = number.indexOf(‘.‘),
        chineseCapitalStr = ‘‘;
 
    // 如果有小数,截取整数位和小数位
    if (pointIndex !== -1) {
        number = number.substring(0, pointIndex) + number.substr(pointIndex + 1, 2);
    }
 
    // 根据输入金额的长度匹配对应的单位
    unit = unit.substr(unit.length - number.length);
    for (var i = 0;i < number.length;i++){
        chineseCapitalStr += ‘零壹贰叁肆伍陆柒捌玖‘.charAt(number.charAt(i)) + unit.charAt(i);
    }
 
    return  chineseCapitalStr
            .replace(/零(千|百|拾|角)/g, ‘零‘)
            .replace(/(零)+/g, ‘零‘)
            .replace(/零(万|亿|元)/g, ‘$1‘)
            .replace(/(亿)万|元(拾)/g, ‘$1$2‘).replace(/^元零?|零分/g, ‘‘)
            .replace(/元$/g, ‘元整‘);
}
 
numberToChineseCapital(21324873.23); //"贰千壹百叁十贰万肆千捌百柒十叁元贰角叁分"

 

JavaScript数字金额转中文大写金额

标签:

原文地址:http://www.cnblogs.com/happyfreelife/p/5379276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!