回答:
これはどう?
"1,112".delete(',').to_i
また、コードが正しくローカライズされていることを確認したり、ユーザーが「国際的な」表記に慣れていることを確認したりすることもできます。たとえば、「1,112」は実際には国によって異なる数字を意味します。ドイツでは、1,000などではなく、1を少し超える数を意味します。
対応するWikipediaの記事はhttp://en.wikipedia.org/wiki/Decimal_markにあります。しかし、現時点では不十分に書かれているようです。たとえば、中国人として、私はこれらの中国の1000の区切り記号に関する説明がどこから来たのかわかりません。
もっと便利
"1,1200.00".gsub(/[^0-9]/,'')
「1 200 200」も適切に機能します
'1,1200.00'.gsub(/[^0-9\.]/,'').to_f
。
"1,1200.00"
したい"1120000"
ですか?,
(または、ロケールによっては.
)を単に置き換えたくないですか?また、これは整数や浮動小数点数に変換するのではなく、区切り文字のない文字列に変換します。
私は使用しString#tr
ます:
"1,112".tr(',','').to_i # => 1112