Ruby - 乘法问题

标签 ruby ruby-on-rails-3.1 multiplication floating-point-precision

我的输出是这样的-

ruby-1.9.2-p290 :011 > 2.32 * 3
=> 6.959999999999999

我记得有一次我在另一台机器上得到了它...... 2.32 * 3 = 6

我的错误是什么? 非常感谢您阅读本文。 :)

最佳答案

如果你真的想四舍五入到一个整数那么就

(3 * 2.32).to_i

但我认为这不太可能。通常你只是想将稍微不精确的 float 格式化为这样的东西

"%0.2f" % (3 * 2.32) 
=> "6.96"

如果你真的想使用精确的表示,那么你可以使用 BigDecimal .

require 'BigDecimal'
(3 * BigDecimal.new("2.32")).to_s("F")
=> "6.96"

附言。推荐阅读http://floating-point-gui.de/ DS.

关于Ruby - 乘法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842105/

相关文章:

ruby-on-rails - 如何在 tcserver 上启动 Rails 应用程序?

android - 如何计算 Android 中的 EditText 值?

c++ - C++ 中的整数溢出和整数乘法

c - 如何正确实现 float 乘法(软件FP)

ruby - 安装 Foundation 5 时出现问题?

ruby - 正则表达式的 o 修饰符是什么意思?

mysql - 在关联Rails中的多个记录中选择特定记录

ruby-on-rails - Rails 中的 partials 有什么用?

ruby-on-rails-3.1 - Twitter Bootstrap + Rails 上的 jquery-ui-datepicker?

ruby - 在 ruby​​ 中使用密码加密字符串