var randomNumber = (Math.random()*3 + 3.5); randomNumber;
alert(randomNumber)
这段代码返回一个像
这样的数字4.589729345235789
我需要它返回
4.5
所以除了第一个之外,还需要删除小数点后的所有数字,有人能告诉我该怎么做吗?
答案 0 :(得分:5)
您使用Number.prototype.toPrecision()
参数2
,Number.prototype.toFixed()
参数1
。
+randomNumber.toPrecision(2);
或者,您可以使用String.prototype.slice()
参数0
,3
+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}
。