首页 > web前端 > js教程 > 正文

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

大家讲道理
发布: 2016-11-10 13:18:47
原创
2076 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!