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