【发布时间】:2009-08-18 21:08:43
【问题描述】:
这对我来说很奇怪:
irb(main):012:0> "100.7".to_f.modulo(1)
=> 0.700000000000003
为什么最后是 3?
irb(main):019:0> "10.7".to_f.modulo(1)
=> 0.699999999999999
同样的事情......我们只得到这个值的余数除以一。应该是准确的。
【问题讨论】:
-
几乎所有
[floating-point]问题的重复。例如,请参阅stackoverflow.com/questions/1089018/…。 -
这也是 ruby-talk 邮件列表或任何曾经存在的任何编程语言的讨论论坛上大约 100 个线程的副本。
标签: ruby floating-point modulo