python - Python 中 float 的余数

标签 python floating-point modulo

<分区>

我只是想给大家展示一下在python中运行的结果。我无法解释。

>>> 1.0%1.0
0.0  (OK)
>>> 1.0%0.1
0.09999.... 
>>> 1.0%0.001
0.00999....
>>> 1.0 %0.0001
0.000999...

...等等。我需要一些能让我理解“x%y”的余数是否为 0.0 的东西,即“y”整除“x” N 次,其中 N 是一个整数。 由于之前的行为,我不知道如何设置可能的公差来确定余数是否接近 0。 有帮助吗?

最佳答案

作为this (long) response说,使用 decimal 模块:

>>> from decimal import Decimal
>>> Decimal('3.5') % Decimal('0.1')
Decimal('0.0')
>>> print(Decimal('3.5') % Decimal('0.1'))
0.0
>>> (Decimal(7)/2) % (Decimal(1)/10)
Decimal('0.0')

问题本质上是由于系统中 float 的表示,您可以在 Internet 上的任何地方以及响应链接中阅读有关该内容的内容。

关于python - Python 中 float 的余数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20830067/

相关文章:

java - 在 Java 中使用模运算符

MySQL Case Select 未按预期运行

c++ - 使用浮点/双除法比较可还原分数

c++ - 具有可变浮点精度的 CString.Format

go - 为什么我的滚动 adler32 校验和在 go 中不起作用? (模算术)

python - 使用Boto3从S3下载文件夹

python - 仅通过插入和删除来查找编辑距离的变化?

python - 如何在 Python 中使用 MinGW-w64 构建我的 C 扩展?

python - 跟踪变化 - Django

c++ - 直接给float变量赋值十六进制整数和通过指针转换赋值的区别