jQuery・JavaScriptで通貨文字列を数値に変換する方法を解説
「€55,600.35」や「$645,345.50」のような通貨文字列を、計算に使える数値へ変換したい場面はよくあります。JavaScriptでは、replace()メソッドと正規表現(REGEX)を組み合わせることで、通貨記号やカンマを簡単に取り除き、数値へ変換できます。
変換の基本的な考え方
ポイントは、正規表現 /[^0-9.-]+/g を使って「数字・ドット(.)・マイナス(-)」以外の文字をすべて空文字に置き換えることです。これにより、通貨記号(€ や $)や桁区切りのカンマ(,)が一括で除去されます。その後、Number() を使うことで文字列を数値型へ変換できます。
コード例
以下が実際のサンプルコードです。
var euroCurrenyValue = "€55,600.35"; var result = Number(euroCurrenyValue.replace(/[^0-9.-]+/g,"")); console.log(result); var dollarCurrenyValue = "$645,345.50"; var result1 = Number(dollarCurrenyValue.replace(/[^0-9.-]+/g,"")); console.log(result1);
Node.jsで実行する場合は、以下のコマンドを使用します(ここではファイル名を demo324.js としています)。
node demo324.js
実行結果
上記のプログラムを実行すると、次のような出力が得られます。
PS C:\Users\Amit\javascript-code> node demo324.js 55600.35 645345.5
補足:より安全な変換のために
この方法はシンプルで便利ですが、実務では以下の点に注意するとより堅牢なコードになります。
- 変換結果が
NaNになっていないか、isNaN()で必ずチェックする。 - ヨーロッパ形式(例:1.234,56 €)のように小数点とカンマの役割が逆のロケールに対応する場合は、置換処理を工夫する必要がある。
- 金額計算では浮動小数点の誤差を避けるため、必要に応じて
toFixed()や専用の金額計算ライブラリの利用を検討する。
このように、正規表現とreplace()を組み合わせれば、jQueryやJavaScriptだけで通貨文字列を簡単に数値へ変換できます。APIレスポンスやフォーム入力値の前処理など、さまざまな場面で活用できるテクニックなので、ぜひ覚えておきましょう。
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum
-
【JavaScript】ゼロを含む文字列を数値に変換する方法をわかりやすく解説
JavaScriptでは、ドット(.)やゼロを含む文字列を数値として扱いたい場面があります。例えば、次のような文字列があったとします。var stringValue="453.000.00.00.0000";このようにゼロや区切り文字を含む文字列をそのまま数値変換しようとすると、意図した結果になりません。そこで、replace()メソッドで不要なドットを取り除き、parseInt()で整数に変換するという2段階の処理を行います。var numberValue = parseInt(stringValue.replace(/\./gm, ''));コード全体の