js格式化浮点数的方法
简易方法
//主调了函数
function formatfloat(f,size)
{
var tf=formatfloat1(f,size);
var sf=""+tf;
//alert(tf);
return formatfloat2(sf,size);
}
//对浮点数格式化,防止出现0.99999998的现象(f为浮点数,size中保留小数位数)
function formatfloat1(f,size)
{
var tf=f*Math.pow(10,size);
tf=Math.round(tf+0.000000001);
tf=tf/Math.pow(10,size);
return tf;
}
//格式化浮点数字符串,保证其有给定的小数位数。其中f是浮点数的字符串常量,size是保留小数位数
function formatfloat2(f,size)
{
aa=f.split("");
var varchar="";
var num=0,k=0; //num是已得小数点位数,K用来作是否到小数点控制
for(var i=0;i<aa.length;i++)
{
varchar+=aa[i];
if(aa[i]==".")
{
k=1;
}
if(k==1)
{
num++;
if(num > size) break;
}
}
num--;
for(;num<size;num++) //如果位数不够,则补0
{
varchar+="0";
}
return varchar;
}
简易方法
var num=34.4554;
alert(num.toFixed(2));