我目前正试图舍入一个浮点数,但我收到一条错误消息,比如:未定义的方法round_to for float 16.66666 7我的取整代码是
option = [keys[count], (((o.poll_votes.count.to_f)/@general_poll.poll_votes.count.to_f)*100).round_to(1)]
最让我吃惊的是,我已经在几个地方使用了这段代码,并且运行得很好……但是现在却给了我错误。
提前谢谢。
最佳答案
Ruby核中的任何方法都不存在。此功能很可能包含在以前使用的库中,但在当前项目中不需要它。快速搜索之后,这个功能似乎包含在ruby facets库中。
gem install facets
请查看本文自行添加此功能:http://www.hans-eric.com/code-samples/ruby-floating-point-round-off/
自由贸易协定:
通过小猴子补丁,我们可以向Float类添加自定义舍入方法。
class Float
def round_to(x)
(self * 10**x).round.to_f / 10**x
end
def ceil_to(x)
(self * 10**x).ceil.to_f / 10**x
end
def floor_to(x)
(self * 10**x).floor.to_f / 10**x
end
end
------------------剪8
关于ruby-on-rails - 可以舍入哪种数据类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1131466/