我正在从 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
我完全错过了什么吗?