意外と知られていないJavaScriptのparseIntの使い方

parseIntとは

JavaScriptのparseIntは文字列を整数に変換するためのJavaScriptの組み込み関数です。

指定した文字列の先頭から数値に変換できる部分を整数として解析し、それ以外の部分は無視します。

数値に変換できなかった場合はNaNが返されます。

JavaScript
const num = parseInt('123')
console.log(num) // 123

parseIntが返すのは整数のみ

parseIntは型が文字列のものを数値に変換する目的で使用されるケースがありますが、parseIntは整数として解析するため浮動小数点数は返しません。

JavaScript
const num = parseInt('3.14')
console.log(num) // 3

浮動小数点の場合はparseFloatを使用します。

JavaScript
const num = parseFloat('3.14')
console.log(num) // 3.14

カンマとアンダーバーなどの数値の区切りが含まれる場合も先頭の数値しか返さなくなるので注意が必要です。

JavaScript
const num1 = parseInt('10,000')
const num2 = parseInt('10_000')
console.log(num1) // 10
console.log(num2) // 10

parseIntが返すのは先頭の数値のみ

parseIntは先頭の数値のみを返すため、parseInt('$100') だと NaN が返されます。

JavaScript
const num1 = parseInt('$100')
const num2 = parseInt('100ドル')
console.log(num1) // NaN
console.log(num2) // 100

parseIntは半角スペースを無視する

parseIntが返すのは先頭の数値のみと書きましたが、半角スペース(ホワイトスペース)は無視されるので、 ' 100 ' は 100 になります。

JavaScript
const num = parseInt('  100  ')
console.log(num) // 100

parseIntは第二引数に基数を指定できる

parseIntは第二引数に基数を指定できます。

JavaScript
const num = parseInt('ff', 16)
console.log(num) // 255

第二引数を指定しない場合、デフォルトでは基数10が使用されます。