四舍五入保留两位小数,但是输入1.999会得到1.100
下面是修改后的方法
function tofloat(f,dec)
{
if(dec<0) { return "Error:dec<0!"; }
result=parseInt(f)+(dec==0?"":".");
f-=parseInt(f);
if(f==0)
for(i=0;i<dec;i++) result+='0';
else {
for(i=0;i<dec;i++) f*=10;
if(Math.round(f)==100)
{
result=result.substring(0,result.indexOf('.'));
var num=parseInt(result)+1;
num=num+'.00';
return num;
} else
{
var x=parseInt(Math.round(f));
if(x>=1&&x<10)
{
result=result+"0"+x;
}
else
{
if(x<0)// 负数的转换
{
x=0-x;
}
result=result+x;
if(x==0)
{
result=result+"0";
}
}
}
}
return result;
}