一个更好的Ruby实现的圆十进制到最接近的0.5

前端之家收集整理的这篇文章主要介绍了一个更好的Ruby实现的圆十进制到最接近的0.5前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这似乎是可怕的低效率.有人可以给我一个更好的 Ruby方式. @H_404_2@def round_value x = (self.value*10).round/10.0 # rounds to two decimal places r = x.modulo(x.floor) # finds remainder f = x.floor self.value = case when r.between?(0,0.25) f when r.between?(0.26,0.75) f+0.5 when r.between?(0.76,0.99) f+1.0 end end

解决方法

@H_404_2@class Float def round_point5 (self*2).round / 2.0 end end

一个经典的问题:这意味着你使用不同的基数进行整数舍入.您可以用任何其他号码替换’2′.

原文链接:https://www.f2er.com/ruby/273086.html

猜你在找的Ruby相关文章