这对我来说很奇怪:
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
同样的事情…我们只得到这个值的剩余部分除以1。应该是准确的。
最佳答案
What Every Computer Scientist Should Know About Floating-Point Arithmetic
关于ruby - 在 ruby 中,为什么“100.7” .to_f.modulo(1)= 0.700000000000003?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1296525/