python - 如何检查浮点数列表加起来是否为整数?
问题描述
我想找到一个浮点数列表的总和并检查它是否是一个整数:
l = [0.85, 0.85, 0.15, 0.15]
l
显然,总和是 2.0。但由于浮点限制,Python 不同意:
> 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
推荐阅读
- javascript - 不变违规:scrollToIndex 超出范围:请求的索引 6 在本机反应中超出 0 到 5
- excel - Excel 数据透视表报表筛选器
- vim - 如何在vim中大写特定的大写单词
- python - 查找 NetworkX 中所有节点对之间的所有最短路径
- bash - 如何计算具有特定分区过滤器的配置单元表的大小?
- r - 如何使用循环和函数从另一个矩阵的输出创建一个新矩阵?
- node.js - 错误:列“admin”不存在但确实存在
- xaml - 调试时如何在 xaml 应用程序中检查 UI 元素在像素中的位置
- plsql - PL/SQL APEX_JSON 如何解析为 CLOB 变量
- ws - OCPP:充电站连接 URL