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