文字列として扱われている値を、数値として扱えるように変更してみます。
サンプルコード
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // '500px'を変換 console.log( "parseInt('500px') → " + parseInt( '500px' )); // 500 console.log( "parseInt('500px', 10) → " + parseInt( '500px' , 10)); // 500 console.log( "parseFloat('500px') → " + parseFloat( '500px' )); // 500 // '5.5'を変換 console.log( "parseInt('5.5') → " + parseInt( '5.5' )); // 5 console.log( "parseInt('5.5', 10) → " + parseInt( '5.5' , 10)); // 5 console.log( "parseFloat('5.5') → " + parseFloat( '5.5' )); // 5.5 // '0x15'を変換 console.log( "parseInt('0x15') → " + parseInt( '0x15' )); // 21 console.log( "parseInt('0x15', 10) → " + parseInt( '0x15' , 10)); // 0 console.log( "parseFloat('0x15') → " + parseFloat( '0x15' )); // 0 // '314e-2'を変換 console.log( "parseInt('500px') → " + parseInt( '314e-2' )); // 314 console.log( "parseInt('500px', 10) → " + parseInt( '314e-2' , 10)); // 314 console.log( "parseFloat('500px') → " + parseFloat( '314e-2' )); // 3.14 // 'hoge'を変換 console.log( "parseInt('hoge') → " + parseInt( 'hoge' )); // NaN console.log( "parseInt('hoge', 10) → " + parseInt( 'hoge' , 10)); // NaN console.log( "parseFloat('hoge') → " + parseFloat( 'hoge' )); // NaN |
parseInt(str[, radix]) | strを先頭から見ていって、数値に変換できるところまで変換して返す。 radixにはstrの基数を表す整数(何進数として解釈するか)を指定する。 radixを省略した場合、通常は10進数になるが、 文字列によっては違う解釈をするので10進数なら10としておくのが無難。 変換できるのは指定した値によって異なる。 先頭の文字が変換できない場合はNaNを返す。 |
---|---|
parseFloat(str) | strを先頭から見ていって、数値に変換できるところまで変換して返す。 変換できるのは、正負記号(+ か -)、数(0-9)、小数点、指数。 先頭の文字が変換できない場合はNaNを返す。 |
文字列を数値に変換のデモページ
個人的には、特に理由がなければparseFloat()を使っておく方が無難かなという印象です。
【参考サイト】
- parseFloat() – JavaScript | MDN
- parseInt() – JavaScript | MDN
- JavaScriptでparseIntする場合は基数を指定しよう | 株式会社LIG
- parseIntとparseFloatの覚え書き – chalcedonyの外部記憶装置・出張版
コメントが承認されるまで時間がかかります。