【发布时间】:2014-02-27 00:56:11
【问题描述】:
我收到这个错误,“String can't be coerced into Float” 执行此行时:
mechanic_dictionary[:cost] = "%.2f" % labor_item.hourly_cost * inv_item.hours_worked
但是当我将这一行修改为:
mechanic_dictionary[:cost] = "%.2f" % 1.0 * 1.0
然后程序正确显示的值是1.00
有人知道我使用 labor_items 和 inv_items 对象时为什么会出现错误吗?
注意-我在 rails 上使用 ruby
【问题讨论】:
-
需要更多详细信息 -
labor_item.hourly_cost和inv_item.hours_worked的值和类型是什么?您可能只需要在这些末尾加上.to_f,但这无法确定。 -
对象是浮点数。我尝试将 .to_f 放在每个之后,但我仍然收到错误
-
也许你可以给我们看一个
labor_item.hourly_cost和inv_item.hours_worked的确切值的例子? -
当我运行调试器时,这是对象显示的内容 (rdb:1) inv_item.hours_worked #<5af93a8><5af9240>5af9240>5af93a8>
标签: ruby-on-rails ruby string floating-point