Ruby在舍入中有错误吗?为什么它的行为如下:
>> [1.14, 1.15, 1.16].map{|x| "%.1f" % x}
=> ["1.1", "1.1", "1.2"]
>> [1.4, 1.5, 1.6].map{|x| "%.0f" % x}
=> ["1", "2", "2"]
Run Code Online (Sandbox Code Playgroud)
因为,为什么1.15会四舍五入为1.1,但1.5会四舍五入为2?至少,这不一致吗?ruby 1.9.1和ruby 1.8.7中的行为相同.
ruby ×1