带有小数除法的余数在 Python 中不起作用。
例如,

>>> 59.28%3.12
3.119999999999999
>>> 59.28/3.12
19.0

有没有办法得到0.0作为 59.28%3.12 的输出

最佳答案

我不知道为什么,我不知道浮点数模实现的细节,但是这很好用:

from decimal import Decimal
Decimal("59.28") % Decimal("3.12")

编辑: 请注意,您必须在构造函数中使用引号 "(即字符串)。否则它会尝试将两个数字解释为浮点数,这是问题的根源(不正确的近似)。

关于python - 带有小数除法的余数在 Python 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22987149/

10-10 00:38
查看更多