見出し画像

【javascript】文字から数値へ変えたいときはNumber(string)

わたしへ。「javascript 文字 数字 変換」の検索履歴が随分増えましたね。

結論

let moji = "1"
let suuji = Number(moji)  // 1

今のところNumber()で事足りる。

明示的に型変換したいケースとは

どこかから受け取ったデータの仕様上、数字も全部文字列扱いになってしまっている(フォームから取得したデータとかね)とか、ゼロ埋めが必要な関係で基本的には文字列扱いしてた方が怖くないとか、なんか知らないけどどっかで文字列になっちゃったんだけど、ここでは数値として計算したいんだよ、っていうケースありますよね。

「100 + 100」って計算したつもりが「100100」って出力されちゃうとか、あるあるですよね。

Number()で事足りないケース

・文字列が混ざって入ってくる可能性があるとき(数字以外の文字が混ざっているとNaNが返ってしまう)

・2進数とか16進数とか浮動小数点数とかが必要なとき(parseInt(),parseFloat()を使おう)

単純な小数ならNumber()で扱えるっぽい(小数点は文字と見なされない)
parseInt()、parseFloat()の方がお行儀良さそうだけど、今のところ私が使うのにはNunber()で十分そう。

参考サイト

JavaScriptで文字列を数値に変換する:Number(), parseInt(), parseFloat()

数値(Number)

この記事が気に入ったらサポートをしてみませんか?