首頁 >web前端 >js教程 >如何在 JavaScript 中將數字截斷到小數點後兩位而不進行四捨五入?

如何在 JavaScript 中將數字截斷到小數點後兩位而不進行四捨五入?

Barbara Streisand
Barbara Streisand原創
2024-11-10 05:44:021034瀏覽

How to Truncate Numbers to Two Decimal Places Without Rounding in JavaScript?

將數字截斷到小數點後兩位而不進行四捨五入

在JavaScript 中處理數字時,通常需要用一定數量的數字來顯示它們小數位。 toFixed() 方法可用來將數字四捨五入到指定的小數位數,但是如果您需要截斷數字而不四捨五入怎麼辦?

考慮以下範例:

var num = parseFloat(15.7784514);
document.write(num.toFixed(1) + "<br />");
document.write(num.toFixed(2) + "<br />");
document.write(num.toFixed(3) + "<br />");
document.write(num.toFixed(10));

此程式碼產生以下輸出:

15.8
15.78
15.778
15.7784514000

如您所見,toFixed() 方法對數字到指定的小數位數。要截斷數字,我們可以將其轉換為字串,並使用正規表示式將數字匹配到小數點後第二位:

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

這段程式碼將原始數字轉換為字串,然後使用正規表示式^-?d (?:.d{0,2})?符合小數點後第二位的數字。然後將產生的字串指派給表單中的捨入元素。

此方法會將數字截斷到小數點後兩位,而不進行四捨五入。例如,如果原始數字是 15.7784514,則截斷後的值為 15.77。

以上是如何在 JavaScript 中將數字截斷到小數點後兩位而不進行四捨五入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn