[英]Remove numbers after decimal in javascript
var randomNumber = (Math.random()*3 + 3.5); randomNumber;
alert(randomNumber)
这段代码返回一个数字,例如
4.589729345235789
我需要它回来
4.5
因此,需要删除小数点后的所有数字(第一个数字除外),有人可以告诉我该怎么做吗?
您可以将Number.prototype.toPrecision()
与参数2
,将Number.prototype.toFixed()
与参数1
。
+randomNumber.toPrecision(2);
可替换地,可以使用String.prototype.slice()
与参数0
, 3
+String(randomNumber).slice(0, 3);
如果需要在数字中设置小数位数,则可以使用toFixed(X)
,其中X是您想要的小数位数。
例如,
4.589729345235789.toFixed(1);
将导致4.6
。
请记住,这会将数字转换为字符串。
如果您需要绝对精度,而4.6
还不足以满足您的需求,请参阅此Stackoverflow帖子 ,该帖子针对您的情况提供了一种更为“准确”的方法:
var with2Decimals = num.toString().match(/^-?\\d+(?:\\.\\d{0,2})?/)[0]
请注意其中的{0,2}
,即范围。 您可以根据情况将其更改为{0,1}
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.