在 JavaScript 中僅獲取數字的小數部分


在數值計算中,精度和準確性起著至關重要的作用,在 JavaScript 程式設計領域,提取數字的小數部分的能力是一項關鍵技能。無論是用於四捨五入、比較還是進一步操作,僅檢索數字的小數部分都可以顯著提高計算的精度和控制。本文旨在探討一種在 JavaScript 中專門檢索小數部分的綜合方法,採用鮮為人知的技術和很少使用的函式。透過掌握這項技術,開發人員可以確保對數值運算有更大的控制,從而為更復雜的演算法和精確的數學計算鋪平道路。

問題陳述

給定 JavaScript 中的一個數字,僅檢索其小數部分並將其作為單獨的數字返回。

示例輸入 -

num = 3.14159

示例輸出 -

decimalPart = 0.14159

方法

在本文中,我們將看到幾種在 JavaScript 中解決上述問題陳述的不同方法 -

  • 使用模運算子 (%)

  • 使用 Math.floor() 和減法

  • 使用 toString() 和 split() 方法

  • 使用 substring() 方法

方法 1:使用模運算子 (%)

此方法利用 JavaScript 中的模運算子 (%)。當我們將一個數字除以 1 並計算餘數時,結果實際上是該數字的小數部分。透過使用模運算子 1 (number % 1),我們可以僅獲得給定數字的小數部分。

示例

此程式碼定義了一個名為 getDecimalPart 的函式,它接受一個數字作為輸入。% 運算子計算 number 除以 1 時的餘數。由於數字的整數部分實際上被 1 除並丟棄,因此結果是數字的小數部分。

function getDecimalPart(number) {
   return number % 1;
}
const number = 89.33;
console.log(getDecimalPart(number));

輸出

以下是控制檯輸出 -

0.3299999999999983

方法 2:使用 Math.floor() 和減法

此方法涉及在 JavaScript 中使用 Math.floor() 函式。Math.floor() 將給定數字向下舍入到最接近的整數。透過從原始數字中減去舍入後的值,我們可以隔離並僅檢索數字的小數部分。

示例

在此程式碼中,getDecimalPart 函式接收一個數字作為輸入。Math.floor(number) 返回小於或等於 number 的最大整數,有效地去除了小數部分。從原始數字中減去這個舍入後的值,我們就得到了小數部分。

function getDecimalPart(number) {
   return number - Math.floor(number);
}
const number = 89.33;
console.log(getDecimalPart(number));

輸出

以下是控制檯輸出 -

0.3299999999999983

方法 3:使用 ToString() 和 Split() 方法

此方法使用 toString() 方法將給定數字轉換為字串表示形式。接下來,我們使用 split('.') 方法在小數點處分割字串。生成的陣列將有兩個元素:整數部分和小數部分。透過訪問陣列的第二個元素 (split('.')[1]),我們可以獲得小數部分。最後,如果需要,可以使用 parseFloat() 將小數部分轉換回數字。

示例

此程式碼使用 number.toString() 將數字轉換為字串。然後,split('.') 用於在小數點處分割字串,生成一個數組。陣列的第二個元素 split('.')[1] 表示小數部分。最後,parseFloat() 將小數部分轉換回數字。

function getDecimalPart(number) {
   return parseFloat(number.toString().split('.')[1]);
}

const number = 89.33;
console.log(getDecimalPart(number));

輸出

以下是控制檯輸出 -

33

方法 4:使用 Substring() 方法

此方法使用 toString() 方法將數字轉換為字串。然後,我們使用 indexOf('.') 方法查詢字串表示形式中小數點的索引。透過使用 substring() 方法並從索引加一開始 (indexOf('.') + 1),我們可以提取小數點後的字元。最後,如果需要,可以使用 parseFloat() 將生成的子字串轉換回數字。

示例

getDecimalPart 函式接受一個數字作為輸入。number.toString().indexOf('.') 查詢數字的字串表示形式中小數點的索引。然後使用 substring() 提取小數點後的字元,從 indexOf('.') + 1 開始。最後,parseFloat() 用於將生成的子字串轉換回數字。

function getDecimalPart(number) {
   return parseFloat(number.toString().substring(number.toString().indexOf('.') + 1));
}

const number = 89.33;
console.log(getDecimalPart(number));

輸出

以下是控制檯輸出 -

33

結論

總而言之,探索專門從 JavaScript 中的數字中提取小數部分,為精確的數學操作提供了一種引人入勝的途徑。數值處理中經常被忽視的這一方面可以為資料分析和計算提供細緻入微的方法,使開發人員能夠解開復雜的模式並釋放隱藏的見解。透過在其程式碼庫中加入這些鮮為人知的技術,程式設計師可以提高其應用程式的準確性和複雜性,從而獲得更完善和定製的使用者體驗。在 JavaScript 中採用小數提取的深奧領域可以提升數值運算的境界,並使開發人員能夠超越計算的傳統界限。

更新於:2023年8月4日

2K+ 次瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.