Skip to main content
 首页 » 编程设计

python之如何将大的 float 值转换为 int

2025年05月04日10bluestorm

我有一个包含大 float 的变量,例如 a = 999999999999999.99

当我在解释器中键入 int(a) 时,它返回 1000000000000000。 对于像这样的长数字,我如何获得 999999999999999 的输出?

请您参考如下方法:

999999999999999.99 是一个无法以浮点格式精确表示的数字,因此 Python 妥协并选择了可以表示的最接近的值。在这种情况下,它恰好是 1000000000000000。这就是为什么将其转换为整数会得到 1000000000000000。

如果您需要比 float 更精确的精度,请考虑使用 decimal.Decimal .

>>> import decimal 
>>> a = decimal.Decimal("999999999999999.99") 
>>> a 
Decimal('999999999999999.99') 
>>> int(a) 
999999999999999