>  기사  >  웹 프론트엔드  >  JS 디지털 금액 대문자 변환(정수, 소수, 음수 처리 가능)

JS 디지털 금액 대문자 변환(정수, 소수, 음수 처리 가능)

大家讲道理
大家讲道理원래의
2016-11-10 13:18:472050검색

//数字金额大写转换                                                                                           
   
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;);  
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.