我在一个文件中接收输入数据,该文件包含欧洲分隔符和数字数据分隔符,所以例如我收到123.456,78(美国人会写123,456.78)
是否有标准的Ruby(不是Rails)方法来解析这些数字?当然我可以做字符串替换,但看起来很笨重。
答案 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