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

原文: 封装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,'');

                }

 

你可能感兴趣的:(千分位)