如何找到大浮点数的下限?
How to find floor on big floating point numbers?
如何在 python 中正确找到 floor(a*n)
,其中 n
是一个非常大的浮点数?
我尝试使用 Decimal
模块但是
Deciaml(1.1) * Decimal(123456789123456789123456789)
没有给出正确答案。
你不能用float来构造Decimal,精度已经丢失了。用字符串初始化它:
>>> Decimal(1.1) * Decimal(123456789123456789123456789)
Decimal('135802468035802479000968054.4')
>>> Decimal('1.1') * Decimal(123456789123456789123456789)
Decimal('135802468035802468035802467.9')
如何在 python 中正确找到 floor(a*n)
,其中 n
是一个非常大的浮点数?
我尝试使用 Decimal
模块但是
Deciaml(1.1) * Decimal(123456789123456789123456789)
没有给出正确答案。
你不能用float来构造Decimal,精度已经丢失了。用字符串初始化它:
>>> Decimal(1.1) * Decimal(123456789123456789123456789)
Decimal('135802468035802479000968054.4')
>>> Decimal('1.1') * Decimal(123456789123456789123456789)
Decimal('135802468035802468035802467.9')