JavaScript中的2个小数,带有正则表达式,没有舍入数字

2 decimals in JavaScript with out regular expression and without rounding the numbers

本问题已经有最佳答案,请猛点这里访问。

谁能给我一个用javascript只接受2位小数的代码吗?没有正则表达式和jquery。数字不应为整数。


固定

toFixed(2);做那件事

1
2
var num = 2.4;
alert(num.toFixed(2));  will alert 2.40


The number should not be round.

使用Math.floor进行四舍五入,您可以使用Math.pow一般设置位数。

1
2
3
4
5
function trimDP(x, i) {
    var e = Math.pow(10, i || 0);
    return Math.floor(e * x) / e;
}
trimDP(2.45991, 2); // 2.45

如果你想把它作为一个字符串,你需要在后面使用.toFixed(i),这样它就不会被取整。

1
2
var x = trimDP(2.40001, 2); // 2.4
x.toString(2); //"2.40"


试试这个

1
 Math.round(num * 100) / 100

尝试用

1
parseFloat(Math.round(yourNum * 100) / 100).toFixed(2);