【发布时间】:2017-05-15 16:56:02
【问题描述】:
好的...我想我在这里遗漏了一些非常明显的东西,但无法通过这个解决方案搜索自己。我有两个简单的 rails 方法来计算赞成票和反对票的数量。他们总是会返回一个分数,因为我试图显示一个百分比(up_vote_count / votal_vote_count)。我打开 rails 控制台并运行以下命令:
y = @somespecificrecord
那么……
y.up_vote_count
这会按预期返回 1
y.down_vote_count
这会按预期返回 1
y.total_vote_count
这会按预期返回 2。
但是,当我在控制台中运行时...
y.up_vote_count / y.total_vote_count
当它应该返回 0.50 时返回 0。我一直在阅读有关浮点数/整数/小数等的内容,并且确实在我正在使用的模型的架构中看到了这一点:
t.float "value", default: 0.0
这是我的问题吗?...如果是这样,我该怎么做才能让自己在 rails 控制台中执行一个简单的公式,例如上面的公式,它将返回正确的小数,四舍五入为 2 位(即 0.50在上面的这种情况下)。我不知道是否要运行任何迁移来更改数据类型,因为这是一个 gem(作为初学者,我倾向于远离自定义我正在使用的任何 gem 的代码)。还有其他方法吗?希望我错过了什么小东西?
更新: 我正在学习小数也比浮点数慢,所以有什么方法可以通过继续使用 t.float "value" 来实现这一点,默认值:0.0
感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 floating-point decimal rails-console