[英]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.