您的位置:首页 > Web前端 > JavaScript

JS保留四舍五入两小数(解决保留两位小数输入1.999变成1.100的问题)

2011-08-18 15:04 507 查看
四舍五入保留两位小数,但是输入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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: