csv からデータをインポートしています。いくつかの値を BigDecimal にキャストし、解析できない場合はエラーを発生させる必要があります。
テストから、BigDecimal("invalid number") は 0 の BigDecimal を返します。
Float("invalid number") は動作が異なり、例外がスローされます...
私の現在の解決策は次のとおりです。
class String
def to_bd
begin
Float(self)
rescue
raise "Unable to parse: #{self}"
end
BigDecimal(self)
end
end
私は何かを完全に見逃していますか?