我不是数学专家,但是以下操作给出的红宝石结果与我尝试过的其他任何语言或计算器都不一样:
Ruby:
(289 / 30 * 30) - (149 / 30 * 30)
=> 150
世界其他地方:
(289 / 30 * 30) - (149 / 30 * 30)
140
非常感谢您的解释
答案 0 :(得分:3)
这是因为数据类型为ruby uses for dividing,int
缺少了结果的小数部分。
在Ruby中:
289 / 30
=> 9
9 * 30
=> 270
289.0 / 30
=> 9.633333333333333
在Python中(例如):
>>> 289 / 30
9.633333333333333
>>> 9.63333 * 30
288.9999
答案 1 :(得分:2)
这是适合您的整数数学。 289/30等于9。顺便说一句,如果您使用//
进行整数除法,在Python中也是如此。
(289//30*30) - (149//30*30) = 150