python - 如何检查 float 列表的总和是否为整数?

标签 python list math floating-point sum

我想找到 float 列表的总和并检查它是否是整数:

l = [0.85, 0.85, 0.15, 0.15]

显然,l 的总和是 2.0。但Python不同意,因为floating point limitations :

> sum(l)
1.9999999999999998

因此,我选择的方法 sum(l).is_integer() 将返回 False

评估列表总和是否为整数的更好方法是什么?

最佳答案

您可以使用decimal包。

>>> from decimal import Decimal
>>> l = [Decimal(x) for x in ['0.85', '0.85', '0.15', '0.15']]
>>> s = sum(l)
>>> s
Decimal('2.00')
>>> s == int(s)
True

关于python - 如何检查 float 列表的总和是否为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59253436/

相关文章:

R:如何将表格 reshape 为向量

java - 查找 List<Long> 中与某个元素相对应的所有索引的方法

math - TI-84 Basic 可以处理 n 阶导数吗?

python - ECC - 无法生成整个循环组

python - QCalendarWidget 年点击使用 pyqt5

python - 图像的 NumPy 切片

Python Selenium 'WebDriver' object has no attribute 错误

python - 如何迭代谷歌云存储中的所有文件以用作数据流输入?

jquery - 计算径向菜单的 Angular

python - 如何计算跨列列表中元素的平均值?