gpt4 book ai didi

ruby - 我怎么知道 BigDecimal 是否解析失败?

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:22 27 4
gpt4 key购买 nike

我正在从 csv 导入数据,我需要将一些值转换为 BigDecimal,如果无法解析则引发错误。

根据测试,BigDecimal("invalid number") 返回 0 的 BigDecimal。这没问题,但有点乱,除了有效值为 0...

Float("invalid number") 的行为不同并抛出异常...

我目前的解决方案是:

class String
def to_bd
begin
Float(self)
rescue
raise "Unable to parse: #{self}"
end
BigDecimal(self)
end
end

我是否完全遗漏了什么?

最佳答案

在简单的情况下,您可以使用 RegExp

'123.4' =~ /^[+-]{0,1}\d+\.{0,1}\d*$/
=> 0

关于ruby - 我怎么知道 BigDecimal 是否解析失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2789028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com