在 JavaScript 中把字串轉換為數字
-
在 JavaScript 中使用
Number()
函式將字串轉換為數字 -
在 JavaScript 中使用
parseInt()
函式將字串轉換為整數 -
在 JavaScript 中使用
Math
物件將字串轉換為整數 - まとめ
我們必須有各種方案來轉換數字。例如,從 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 中獲取字串的最後一個字元
- 在 JavaScript 中將字串轉換為日期
- 在 JavaScript 中從字串中獲取第一個字元
- 在 JavaScript 中將陣列轉換為字串
- 在 JavaScript 中檢查字串是否相等
- JavaScript 中的單引號與雙引號