封装js千分位加逗号和删除逗号

  1. 云栖社区>
  2. 博客>
  3. 正文

封装js千分位加逗号和删除逗号

杰克.陈 2014-12-11 08:50:00 浏览560
展开阅读全文
原文:封装js千分位加逗号和删除逗号

                //封装js千分位加逗号和删除逗号
                alert( format(2545678754.020001) )    //2,545,678,754.03
                alert( format(-2545678754.020001) )    //-2,545,678,754.02
                alert( format(2545678754.000000000009) );    //当值很长的时候会出现数字被截取的问题
                alert( delformat('2,545,678,754.03') );    //2545678754.03
                alert( delformat('-2,545,678,754.03') );    //-2545678754.03
                
                function format(num){
                    var sNum=num.toFixed(2)+'',    //将传入的值【四舍五入】保留2位小数
                        re=/(\d+)(\d{3})/;
                        
                    if( /\.\d{3}/.test(num+'') ){
                        if(sNum.charAt(0)!='-'){
                            //如果传入的值不只两位小数,就向前进1保留2位小数,如:1.2400001 -> 1.25
                            sNum=sNum.substring(0,sNum.length-1)+(parseInt(sNum.slice(-1))+1);
                        }
                    }    //向前进1的情况太多,没考虑周全,比如说0.999 -0.0009
                        
                    while(re.test(sNum)){
                        sNum=sNum.replace(re,'$1,$2');
                    }
                    
                    return sNum;
                }
                
                function delformat(sNum){
                    return sNum.replace(/,/g,'');
                }

 

网友评论

登录后评论
0/500
评论
杰克.陈
+ 关注