banner
leoking

leoking

前端开发者
tg_channel

轉換字串時,Number() 和 parseInt() 的區別?

Number()parseInt() 是 JavaScript 中用於將字串轉換為數字的兩個不同函式,它們在處理字串時有一些不同之處。

Number()#

  • Number() 函式將整個字串轉換為數字。
  • 如果字串包含非數字字元(除了開頭的空格和正負號),則返回 NaN
  • 如果字串可以被完整地解析為一個數字,則返回該數字。

parseInt()#

  • parseInt() 函式解析字串的整數部分,直到遇到第一個非數字字元為止。
  • 可以指定一個可選的基數(即進制)來解析字串。
  • 如果字串以非數字字元開頭,parseInt() 返回 NaN

示例解釋#

示例 1#

let a = "1hola1";
console.log(Number(a)); // 輸出: NaN
console.log(parseInt(a)); // 輸出: 1

解釋:

  • Number("1hola1") 返回 NaN,因為整個字串 "1hola1" 無法轉換為一個有效的數字。
  • parseInt("1hola1") 返回 1,因為它從字串開頭解析,直到遇到非數字字元 h

示例 2#

let a = "1";
console.log(Number(a)); // 輸出: 1
console.log(parseInt(a)); // 輸出: 1

解釋:

  • Number("1")parseInt("1") 都返回 1,因為字串 "1" 是一個有效的數字,沒有非數字字元干擾解析。

總結#

  • 使用 Number() 可以將整個字串轉換為一個數字,如果字串包含任何非數字字元,則返回 NaN
  • 使用 parseInt() 可以從字串的開頭解析出整數部分,直到遇到非數字字元為止。

其他示例#

console.log(Number("123.45")); // 輸出: 123.45
console.log(parseInt("123.45")); // 輸出: 123

console.log(Number("   123   ")); // 輸出: 123
console.log(parseInt("   123   ")); // 輸出: 123

console.log(Number("123abc")); // 輸出: NaN
console.log(parseInt("123abc")); // 輸出: 123

console.log(Number("abc123")); // 輸出: NaN
console.log(parseInt("abc123")); // 輸出: NaN

這些示例展示了 Number()parseInt() 在處理不同字串時的行為差異。

又學習到了新的知識。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。