码迷,mamicode.com
首页 > 其他好文 > 详细

代码集合

时间:2014-08-14 13:55:08      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   ar   cti   

1、js数字格式化

/**
* 格式化数字
* formatNumber(12345.999,‘#,##0.00‘)
* formatNumber(12345.999,‘#,##0.##‘)
* formatNumber(123,‘000000‘);
* @param num
* @param pattern
*/
function formatNumber(num,pattern){
    var strarr = num?num.toString().split(‘.‘):[‘0‘];
    var fmtarr = pattern?pattern.split(‘.‘):[‘‘];
    var retstr=‘‘;

    // 整数部分
    var str = strarr[0];
    var fmt = fmtarr[0];
    var i = str.length-1;
    var comma = false;
    for(var f=fmt.length-1;f>=0;f--){
        switch(fmt.substr(f,1)){
            case ‘#‘:
                if(i>=0 ) retstr = str.substr(i--,1) + retstr;
                break;
            case ‘0‘:
                if(i>=0) retstr = str.substr(i--,1) + retstr;
                else retstr = ‘0‘ + retstr;
                break;
            case ‘,‘:
                comma = true;
                retstr=‘,‘+retstr;
                break;
        }
     }
    if(i>=0){
        if(comma){
            var l = str.length;
            for(;i>=0;i--){
                retstr = str.substr(i,1) + retstr;
                if(i>0 && ((l-i)%3)==0) retstr = ‘,‘ + retstr;
            }
        }
        else retstr = str.substr(0,i+1) + retstr;
    }

    retstr = retstr+‘.‘;
    // 小数部分
    str=strarr.length>1?strarr[1]:‘‘;
    fmt=fmtarr.length>1?fmtarr[1]:‘‘;
    i=0;
    for(var f=0;f<fmt.length;f++){
        switch(fmt.substr(f,1)){
            case ‘#‘:
                if(i<str.length) retstr+=str.substr(i++,1);
                break;
            case ‘0‘:
                if(i<str.length) retstr+= str.substr(i++,1);
                else retstr+=‘0‘;
                break;
        }
    }
    return retstr.replace(/^,+/,‘‘).replace(/\.$/,‘‘);
}

 

代码集合,布布扣,bubuko.com

代码集合

标签:style   blog   color   os   io   for   ar   cti   

原文地址:http://www.cnblogs.com/tombsky/p/3912225.html

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