Maison  >  Article  >  interface Web  >  JS数字金额大写转换(可以处理整数,小数,负数)

JS数字金额大写转换(可以处理整数,小数,负数)

大家讲道理
大家讲道理original
2016-11-10 13:18:472082parcourir

//数字金额大写转换                                                                                           
   
function upDigit(n)   
{  
    var fraction = ['角', '分'];  
    var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];  
    var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟']  ];  
    var head = n < 0? &#39;欠&#39;: &#39;&#39;;  
    n = Math.abs(n); 
    var s = &#39;&#39;; 
    for (var i = 0; i < fraction.length; i++)   
    {  
        s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, &#39;&#39;);  
    }  
    s = s || &#39;整&#39;;  
    n = Math.floor(n); 
    for (var i = 0; i < unit[0].length && n > 0; i++)   
    {  
        var p = &#39;&#39;;  
        for (var j = 0; j < unit[1].length && n > 0; j++)   
        {  
            p = digit[n % 10] + unit[1][j] + p;  
            n = Math.floor(n / 10);  
        }  
        s = p.replace(/(零.)*零$/, &#39;&#39;).replace(/^$/, &#39;零&#39;)  + unit[0][i] + s;  
    }  
    return head + s.replace(/(零.)*零元/, &#39;元&#39;).replace(/(零.)+/g, &#39;零&#39;).replace(/^整$/, &#39;零元整&#39;);  
}

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:js数组去重的4个方法Article suivant:JS填充固定位数