如何使用逗号','分隔符和句点分隔符解析ruby中的数字

时间:2016-02-09 19:20:45

标签: ruby number-formatting

我在一个文件中接收输入数据,该文件包含欧洲分隔符和数字数据分隔符,所以例如我收到123.456,78(美国人会写123,456.78)

是否有标准的Ruby(不是Rails)方法来解析这些数字?当然我可以做字符串替换,但看起来很笨重。

2 个答案:

答案 0 :(得分:1)

您可以使用money gem。

"123.456,78".to_money
#=> #<Money fractional:12345678 currency:USD>
"123,456.78".to_money
#=> #<Money fractional:12345678 currency:USD>
"123,456.78".to_money.to_s
#=> "123456.78"

不知道这对你的目标来说是否方便,但在解析“钱”字符串方面它是一个不错的工具。

答案 1 :(得分:-2)

假设您的输入始终格式正确并且有2位小数,这就足够了:

"123.456,78".gsub(/[,.]/,'').to_i / 100.0
# => 123456.78