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;
}
下面是修改后的方法
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;
}
相关文章推荐
- 解决Double类型的金额字段中使用保留两位小数并四舍五入的问题
- js中如何保留两位小数(四舍五入)
- js中如何保留两位小数(四舍五入)
- JS限制input输入的为数字并且有小数的时候最多保留两位小数
- js保留两位小数的解决的方法
- 移动端限制两位小数并且弹出数字键盘(解决使用H5S使用input[type='number']不兼容JS的问题)
- 验证数字可以有千分符可以有0个1个小数点小数点后输入后四舍五入保留两位(写个js验证真费劲)
- 使用js让文本框只能输入数字 且小数保留两位
- JS保留两位小数 四舍五入函数
- JS保留两位小数(不四舍五入),向下取偶数
- js实现四舍五入完全保留两位小数的方法
- javaScript强制保留两位小数的输入数校验和小数保留问题
- 新JS四舍五入保留两位小数
- JS限制文本框输入金额并保留两位小数
- JS验证输入的是否是数字及保留几位小数问题
- JS限制文本框输入金额并保留两位小数
- JS实现保留n位小数的四舍五入问题示例
- js 保留两位小数,不要四舍五入
- 文本框限制输入数值保留两位小数的js 方法
- js 让小数四舍五入保留两位小数的函数是?