在 JavaScript 中把字串轉換為數字

Nithin Krishnan 2023年1月30日 2021年4月29日
  1. 在 JavaScript 中使用 Number() 函式將字串轉換為數字
  2. 在 JavaScript 中使用 parseInt() 函式將字串轉換為整數
  3. 在 JavaScript 中使用 Math 物件將字串轉換為整數
  4. まとめ
在 JavaScript 中把字串轉換為數字

我們必須有各種方案來轉換數字。例如,從 API 或資料庫查詢中提取的資料以字串格式轉換為數字。由於對字串的操作不同,可能有必要將這些字串轉換為數字格式,以便輕鬆地對其進行算術運算。這裡有一些方法可以做到這一點:

  • Number("123")
  • parseInt("123")
  • Math.floor("123.12")
  • Math.round("123")

在 JavaScript 中使用 Number() 函式將字串轉換為數字

Number()Number 建構函式,可用於將其他資料型別轉換為數字格式(根據 MDN 文件)。如果輸入引數未定義或不能轉換為數字,則返回 NaN。例如:

console.log(Number("246"))
console.log(Number("246.5"))
console.log(Number(undefined))
console.log(Number("Hello"))

輸出:

246
246.5
NaN
NaN

在 JavaScript 中使用 parseInt() 函式將字串轉換為整數

處理字串數字的另一種方法是使用 JavaScript 的 parseInt() 方法。parseInt() 有兩個引數,一個是需要轉換的字串,另一個是 radix(表示基數)。我們日常生活中處理的大多數數字通常以 10 為基數,這表示一個十進位制值。在大多數情況下,我們不需要將基數指定為預設值 10。

console.log(parseInt("123")); 
console.log(parseInt("abc")); 
console.log(parseInt("-123")); 
console.log(parseInt("100.50"));

輸出:

123
NaN
-123
100

parseInt("100.50") 返回 100 而不是 100.50,因為它將輸入數字轉換為整數。因此,在使用 parseInt() 時要注意這一事實。

parseInt() 還可以轉換十六進位制值以及具有不同基數系統的值,例如二進位制系統,八進位制系統等。有關更多資訊,請檢視文件。同樣,我們可以使用 parseFloat() 將字串轉換為浮點數。

在 JavaScript 中使用 Math 物件將字串轉換為整數

Math 是 JavaScript 中的內建物件,具有用於複雜數學運算的方法。它適用於資料型別編號。但是,很少使用此內建物件的方法將字串轉換為整數。例如,

console.log(Math.ceil("123"));
console.log(Math.floor("300"));
console.log(Math.abs("450"));

輸出:

123
300
450

但是,使用 Math 方法進行轉換時會遇到陷阱。對於浮點值,我們無法使用它們,因為它們會將它們轉換為整數。因此,我們將丟失該值的小數部分。

  • Math.ceil("220.5"):返回 221。它取最大值,將十進位制數近似為下一個整數 221。因此,我們不能用它來獲得 220.5。在這種情況下,請使用 parseFloat()
  • Math.floor("220.5"):返回 220。與 ceil() 函式相比,floor() 返回前一個整數值。因此,Math.floor() 不適用於浮點數值。
  • Math.abs("450")。可以使用,因為它會返回 450,但不能使用負整數值。例如,在處理負整數值時,以下差異將無法達到我們的目的。按照以下方案:
console.log(Maths.abs("240.64")) 
console.log(Math.abs("-240.25")) 

輸出:

240.64 // The decimal value of .64 is captured here
240.25 // -240.25 is transformed to 240.25

まとめ

根據我們期望從字串號中獲取的值,最好的選擇是使用 Number() 方法。如果只使用整數值,建議使用 parseInt()。明智地使用 JavaScript 中的內建 Math 物件來轉換字串,因為根據我們使用的方法,它可能很棘手。

相關文章 - JavaScript String

相關文章 - JavaScript Integer