banner
leoking

leoking

前端开发者
tg_channel

文字列を変換する際、Number() と parseInt() の違いは何ですか?

Number()parseInt() は、JavaScript で文字列を数値に変換するための 2 つの異なる関数です。これらは文字列を処理する際にいくつかの違いがあります。

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() が異なる文字列を処理する際の動作の違いを示しています。

新しい知識を学びました。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。