我有一些价值观:
var one = 1.0000
var two = 1.1000
var three = 1.1200
var four = 1.1230
和功能:
function tofixed(val)
{
return val.toFixed(2);
}
这个回报:
1.00
1.10
1.12
1.12
我想在dot-2之后获得最大尺寸,但只有在!= 0之后的数字之后。 所以我想收到:
1
1.1
1.12
1.12
我该怎么做?
答案 0 :(得分:50)
.toFixed(x)
返回一个字符串。只需将其解析为浮点数:
return parseFloat(val.toFixed(2));
答案 1 :(得分:11)
假设您想要 String 输出
function myFixed(x, d) {
if (!d) return x.toFixed(d); // don't go wrong if no decimal
return x.toFixed(d).replace(/\.?0+$/, '');
}
myFixed(1.0000, 2); // "1"
myFixed(1.1000, 2); // "1.1"
myFixed(1.1200, 2); // "1.12"
myFixed(1.1230, 2); // "1.12"
答案 2 :(得分:6)
“正确”的方法如下:
return Math.round(num*100)/100;
如果要将其截断为两位小数(即1.238变为1.23而不是1.24),请使用floor
代替round
。
答案 3 :(得分:0)
这个怎么样:
parseFloat((2199.004).toFixed(2)) // 2199