JavaScript を使って通貨形式を数値に変換する

JavaScriptで通貨表記(例:-$4,400.50)を数値型に変換する方法を解説しています。不要な記号(通貨記号やカンマなど)を正規表現で除去し、Number 関数を使って数値に変換するシンプルな手法を紹介しています。
原理は、すべての無効な記号を取り除くことです。
var currency = "-$4,400.50";
var number = Number(currency.replace(/[^0-9.-]+/g,""));
上記のコードで得られる数値は -4400.50 です。
コード解説・JavaScript を使って通貨形式を数値に変換する
- 入力文字列に含まれる
$
や,
といった数値以外の文字を、正規表現/[^0-9.-]+/g
で一括削除。 - マイナス記号(
-
)と小数点(.
)は除去対象から外し、符号付きの小数数値を正しく処理。 Number()
コンストラクタを用いて、クリーニング後の文字列を数値に変換。- 例:
"-$4,400.50"
→-4400.50
として正しく変換可能。
注意点・補足
- 正規表現で除去しているのは「数字、マイナス、ピリオド」以外の文字列のため、異なる通貨記号や特殊なフォーマットには注意。
- 負の数や小数点が複数含まれる場合など、特殊ケースには対応していない。
- 入力が必ず文字列として正しい形式であることを前提とする。
まとめ
通貨記号やカンマなどを正規表現で除去する。
数値として扱える文字(数字、マイナス、小数点)だけを残す。
Number()
関数で文字列を数値に変換する。
この方法はシンプルで使いやすく、多くの通貨表記の変換に応用可能です。