Answers:
这个怎么样?
"1,112".delete(',').to_i
您可能还需要确保代码正确地本地化,或者确保用户习惯于“国际”符号。例如,“ 1,112”实际上表示不同国家/地区的数字不同。在德国,这意味着人数略多于一,而不是一千左右。
相应的Wikipedia文章位于http://en.wikipedia.org/wiki/Decimal_mark。不过,目前看来它写得不好。例如,作为一个中国人,我不确定这些关于中国千位分隔符的描述从何而来。
一些更方便
"1,1200.00".gsub(/[^0-9]/,'')
它也可以使“ 1200200”正常工作
'1,1200.00'.gsub(/[^0-9\.]/,'').to_f
。
"1,1200.00"
成"1120000"
?您是否只想替换,
(或根据地区而定.
)?此外,这不会将其转换为整数或浮点数,只是没有分隔符的字符串。
我会使用String#tr
:
"1,112".tr(',','').to_i # => 1112
String count = count.replace(",", "");