为什么我的十进制值行是像#>这样的值,而不是一个普通的十进制数?
我有一个成本列,我得到奇怪的值。这样可以吗?如果是,为什么呢?
这就是Ruby默认输出BigDecimal对象的方式。不知道为什么他们选择了这么难看的格式,但是他们——也许一些额外的信息是有用的。
无论如何,你应该仍然能够按照你的期望使用它们——这只是有点奇怪的显示。如果您想以更正常的格式打印BigDecimal,请先调用to_s
,或者使用puts
,它会为您调用to_s
。
希望有帮助!
Rails自动将"row"的十进制值转换为与它最相似的Ruby对象。在本例中,为BigDecimal。
要以一种漂亮的方式打印出来,您可以使用"to_s"例如:
puts my_decimal.to_s
=> "3000000000000000000.0"
,它应该比你现在看到的丑陋的类命名版本打印得更好。