web-dev-qa-db-ja.com

JavaScript / jQueryで、コンマ付きの数値を整数に変換する最良の方法は何ですか?

文字列「15,678」を値15678に変換したいと思います。メソッドparseInt()parseFloat()はどちらも「15,678」に対して15を返します。これを行う簡単な方法はありますか?

23
David

最も簡単なオプションは、すべてのコンマを削除することです:parseInt(str.replace(/,/g, ''), 10)

39
SLaks

1つの方法は、次のコマンドですべてのコンマを削除することです。

strnum = strnum.replace(/\,/g, '');

そしてthenそれをparseIntに渡します:

var num = parseInt(strnum.replace(/\,/g, ''), 10);

ただし、ここでは注意する必要があります。数千の区切り文字としてコンマを使用することは文化的なことです。一部の地域では、数字1,234,567.89と書かれます1.234.567,89

10
paxdiablo

数字とカンマしかない場合:

+str.replace(',', '')

+可能であれば、文字列strを数値にキャストします。これをできるだけ明確にするには、parensでラップします。

(+str.replace(',', ''))

したがって、ステートメントで使用すると、視覚的に分離されます(+ + xは++ xと非常によく似ています)。

var num = (+str1.replace(',', '')) + (+str1.replace(',', ''));

Javascriptコード規約(下から2番目のセクションの「紛らわしいプラスとマイナス」を参照):

http://javascript.crockford.com/code.html

8
JustcallmeDrago

あなたはこのようにそれを行うことができます:

var value = parseInt("15,678".replace(",", ""));
2
treeface

このように、解析する前に正規表現を使用してコンマを削除します

parseInt(str.replace(/,/g,''), 10)
//or for decimals as well:
parseFloat(str.replace(/,/g,''))

ここでテストできます

1
Nick Craver