在python中使用大量数字进行数学运算时得到不准确的答案

2024-10-01 13:36:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写涉及一系列数学计算的python代码。其中一种是以下操作:

 result1 = float1 % float2 //modulo operation to find the remainder

其中,浮动1=68166050169558000000,浮动2=1577917828000

我得到的结果是1573597498272(反向数学表明这是不准确的)。我在Excel或数字上也得到了同样的结果

然而,当我在四核系统上尝试这一点时,Excel和数字给出了一个非常不同的结果,即1573597828000(反向数学显示这是准确的)。即使在四核系统上,python程序也会继续给出相同的结果。 (Python版本在我的系统上是3.7.2,在四核系统上是3.9)

我可以做些什么来确保python给出准确的结果?任何指导都是非常有价值的。提前谢谢


Tags: theto代码系统数字数学findexcel
1条回答
网友
1楼 · 发布于 2024-10-01 13:36:59

Python数字对于大数字来说并不精确,如果您想要更精确的精度,请使用Decimal类:

from decimal import Decimal

Decimal(6816605016955680000000) % Decimal(1577917828000)

Output:
Decimal('1573597828000')

这将为您提供跨不同系统的一致结果

相关问题 更多 >