INT(-9/8) -1 math.floor(-9/8) -2
按预期工作,但是:
int(-27185501994412122128269814042 / 1893973573) -14353686018623303680 math.floor(-27185501994412122128269814042 / 1893973573) -14353686018623303680 注意减号,应为-1435368601862330368 1
任何想法为什么?以及如何解决?
int(-27185501994412122128269814042%1893973573) 1012149580> 0
答案 0 :(得分:1)
在两种情况下结果都是错误的,因为正确的分数是-14353686018623303214
-27185501994412122128269814042 - (-14353686018623303214*1893973573)
= 1012149580
< 1893973573
获得另一个结果,因为商首先转换为浮点格式,然后再转换为整数。