Ruby 中的舍入浮点数
我在四舍五入时遇到问题。我有一个浮点数,我想将其四舍五入到小数点后百分之几。但是,我只能使用 .round
,它基本上将其转换为 int,这意味着 2.34.round # => 2.
有没有一种简单的效果方法可以做类似 2.3465 # => 的事情2.35
I'm having problems rounding. I have a float, which I want to round to the hundredth of a decimal. However, I can only use .round
which basically turns it into an int, meaning 2.34.round # => 2.
Is there a simple effect way to do something like 2.3465 # => 2.35
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
将参数传递给 round,其中包含要舍入的小数位数
Pass an argument to round containing the number of decimal places to round to
显示时,可以使用(例如)
如果要四舍五入存储,可以使用
When displaying, you can use (for example)
If you want to store it rounded, you can use
您可以使用它来四舍五入到精度..
you can use this for rounding to a precison..
你可以在 Float 类中添加一个方法,我从 stackoverflow 了解到这一点:
You can add a method in Float Class, I learnt this from stackoverflow:
您还可以提供一个负数作为
round
方法的参数,以四舍五入到最接近的 10、100 等倍数。You can also provide a negative number as an argument to the
round
method to round to the nearest multiple of 10, 100 and so on.(2.3465*100).round()/100.0
怎么样?what about
(2.3465*100).round()/100.0
?如果您只需要显示它,我会使用 number_with_ precision 帮助者。
如果您在其他地方需要它,我会使用 Steve Weet 指出的 round 方法
If you just need to display it, I would use the number_with_precision helper.
If you need it somewhere else I would use, as Steve Weet pointed, the
round
method对于 ruby 1.8.7,您可以将以下内容添加到代码中:
For ruby 1.8.7 you could add the following to your code: