在python中划分两个非常大的数字会返回1

aha*_*jib 2 python

我知道之前已经问过这个问题,但解决方案对我来说似乎没有用.我在python(2.7)中有两个非常大的数字,如下所示:

a = 332413405639482828453084501713288536462658058395850
b = 332413405639482828453084501713288536462658058395856
Run Code Online (Sandbox Code Playgroud)

我需要结果

a/b
Run Code Online (Sandbox Code Playgroud)

你可以看到两者之间存在非常微小的差异,所以我假设这个除法的结果不是0或1.我已经尝试过//如其他帖子中的建议但是仍然没有返回我想要的内容.有没有解决方案,或者在python或一般的大数字中无法做到这一点?

更新:顺便说一句,对不起,但我忘了提到即使从未来进口部门,我仍然没有得到我想要的.

谢谢

Cop*_*eld 9

简单的浮点数不够精确,尝试使用Decimal模块

>>> from decimal import Decimal, localcontext
>>> with localcontext() as cont:
        cont.prec=100
        Decimal(a)/Decimal(b)


Decimal('0.9999999999999999999999999999999999999999999999999819501864298840350161830097171743383579489213731828')
>>> 
Run Code Online (Sandbox Code Playgroud)