js 实现数值的千分位及保存小数方法(推荐)
实例如下:
/**
*将数值四舍五入后格式化.
*
*@paramnum数值(Number或者String)
*@paramcent要保留的小数位(Number)
*@paramisThousand是否需要千分位0:不需要,1:需要(数值类型);
*@return格式的字符串,如'1,234,567.45'
*@typeString
*/
functionformatNumber(num,cent,isThousand){
num=num.toString().replace(/\$|\,/g,'');
//检查传入数值为数值类型
if(isNaN(num))
num="0";
//获取符号(正/负数)
sign=(num==(num=Math.abs(num)));
num=Math.floor(num*Math.pow(10,cent)+0.50000000001);//把指定的小数位先转换成整数.多余的小数位四舍五入
cents=num%Math.pow(10,cent);//求出小数位数值
num=Math.floor(num/Math.pow(10,cent)).toString();//求出整数位数值
cents=cents.toString();//把小数位转换成字符串,以便求小数位长度
//补足小数位到指定的位数
while(cents.length<cent)
cents="0"+cents;
if(isThousand){
//对整数部分进行千分位格式化.
for(vari=0;i<Math.floor((num.length-(1+i))/3);i++)
num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
}
if(cent>0)
return(((sign)?'':'-')+num+'.'+cents);
else
return(((sign)?'':'-')+num);
}
以上这篇js实现数值的千分位及保存小数方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。