在javascript中删除十进制后的数字

时间:2016-12-31 04:39:30

标签: javascript

var randomNumber = (Math.random()*3 + 3.5); randomNumber;

alert(randomNumber)

这段代码返回一个像

这样的数字

4.589729345235789

我需要它返回

4.5

所以除了第一个之外,还需要删除小数点后的所有数字,有人能告诉我该怎么做吗?

2 个答案:

答案 0 :(得分:5)

您使用Number.prototype.toPrecision()参数2Number.prototype.toFixed()参数1

+randomNumber.toPrecision(2);

或者,您可以使用String.prototype.slice()参数03

+String(randomNumber).slice(0, 3);

答案 1 :(得分:3)

如果您需要设置数字中的小数位数,可以使用toFixed(X),其中X是您想要的小数位数。

例如,

4.589729345235789.toFixed(1);会产生4.6

请注意,这会将数字转换为字符串。

如果您需要绝对的准确度且4.6对您不够好,请参阅this Stackoverflow post,其中包含更多"准确的"你案件的方法:

var with2Decimals = num.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]

注意其中的{0,2},即范围。您可以在案例中将其更改为{0,1}