文字列「15,678」を値15678に変換したいと思います。メソッドparseInt()
とparseFloat()
はどちらも「15,678」に対して15を返します。これを行う簡単な方法はありますか?
最も簡単なオプションは、すべてのコンマを削除することです:parseInt(str.replace(/,/g, ''), 10)
1つの方法は、次のコマンドですべてのコンマを削除することです。
strnum = strnum.replace(/\,/g, '');
そしてthenそれをparseIntに渡します:
var num = parseInt(strnum.replace(/\,/g, ''), 10);
ただし、ここでは注意する必要があります。数千の区切り文字としてコンマを使用することは文化的なことです。一部の地域では、数字1,234,567.89
と書かれます1.234.567,89
。
数字とカンマしかない場合:
+str.replace(',', '')
+
可能であれば、文字列str
を数値にキャストします。これをできるだけ明確にするには、parensでラップします。
(+str.replace(',', ''))
したがって、ステートメントで使用すると、視覚的に分離されます(+ + xは++ xと非常によく似ています)。
var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));
Javascriptコード規約(下から2番目のセクションの「紛らわしいプラスとマイナス」を参照):
あなたはこのようにそれを行うことができます:
var value = parseInt("15,678".replace(",", ""));
このように、解析する前に正規表現を使用してコンマを削除します
parseInt(str.replace(/,/g,''), 10)
//or for decimals as well:
parseFloat(str.replace(/,/g,''))