我有一个关于toFixed()函数的问题。如果我有浮点数,例如- 3.123123423和。如何使用toFixed(2)将其输出到输入框,以便输入框值为3.12和。我的意思是,如果值是整数,我希望输出它而不尾随.00 :)
发布于 2009-09-08 11:13:36
由于在JavaScript中整数和浮点数没有区别,下面是我快速的‘n’脏方法:
theNumber.toFixed(2).replace(".00", "");或者一些普通的东西:
myToFixed = function (n, digits) {
digits = digits || 0;
return n.toFixed(digits).replace(new RegExp("\\.0{" + digits + "}"), "");
}
myToFixed(32.1212, 2) --> "32.12"
myToFixed(32.1212, 0) --> "32"
myToFixed(32, 2) --> "32"
myToFixed(32.1, 2) --> "32.10"发布于 2009-09-08 11:45:54
您不需要Math.round():
var toFixed = function(val, n) {
var result = val.toFixed(n);
if (result == val)
return val.toString();
return result;
}
toFixed(3.123, 2) --> "3.12"
toFixed(3, 2) --> "3"发布于 2009-09-08 11:37:18
function toFixed0d(x, d)
{
if(Math.round(x) == x)
{
return x.toString();
}else
{
return x.toFixed(d);
}
}
toFixed0d(3.123123423, 2) = "3.12"
toFixed0d(0, 2) = "0"https://stackoverflow.com/questions/1393332
复制相似问题