首页 > 解决方案 > 如何得到准确的计算

问题描述

我试图在 python 中做一个简单的计算,乘以几个数字,但我得到的结果不准确。

我试图从计算中解决这个 999999999999999999*2*(2-1)/2 ,答案应该是 999999999999999999 但我得到 1000000000000000000

我怎样才能得到准确的结果?

a = 999999999999999999*2*(2-1)/2
print(a)
int(a)

1e+18

1000000000000000000

标签: pythonpython-3.x

解决方案


使用小数

from decimal import *
a = Decimal('999999999999999999')*2*(2-1)/2
print(a)

输出:

999999999999999999

推荐阅读