导轨 3.为什么我的十进制值行是诸如 #<BigDecimal:5003750,'0.1E2',9(18)>>之类的值?



为什么我的十进制值行是像#>这样的值,而不是一个普通的十进制数?

我有一个成本列,我得到奇怪的值。这样可以吗?如果是,为什么呢?

这就是Ruby默认输出BigDecimal对象的方式。不知道为什么他们选择了这么难看的格式,但是他们——也许一些额外的信息是有用的。

无论如何,你应该仍然能够按照你的期望使用它们——这只是有点奇怪的显示。如果您想以更正常的格式打印BigDecimal,请先调用to_s,或者使用puts,它会为您调用to_s

希望有帮助!

Rails自动将"row"的十进制值转换为与它最相似的Ruby对象。在本例中,为BigDecimal。

要以一种漂亮的方式打印出来,您可以使用"to_s"例如:

puts my_decimal.to_s
=> "3000000000000000000.0"

,它应该比你现在看到的丑陋的类命名版本打印得更好。

最新更新