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



>我在一个文件中接收输入数据,该文件具有数字数据的欧洲分隔符和分隔符,因此例如我收到 123.456,78(美国人会写 123,456.78)

有没有标准的Ruby(不是Rails)方法来解析这些数字? 当然,我可以进行字符串替换,但这似乎有点笨拙。

您可以使用

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"

不知道就您的目标而言,这是否很方便,但在解析"金钱"字符串时,它是一个不错的工具。

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

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

最新更新