gpt4 book ai didi

python - 在 Python 中将 float 与一个非常大的整数相乘

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:34 25 4
gpt4 key购买 nike

在 Python 中,有什么方法可以将 float 与一个非常大的整数相乘吗?

例如,我尝试了 print (10**100000) * 1.414它给了我:

OverflowError:long int 太大而无法转换为 float

请注意,值( float 和那个大数字)可以是任何值。更重要的是,我想要表达式的精确值(四舍五入到最接近的整数)。

请提供任何解决方案。

最佳答案

如果您要查找精确 值,这意味着您必须能够访问 1.414 作为字符串(否则,存储在内存中的值不精确要么)。

import decimal

float_string = '1.614' # to show that rounding works
exponent = 100000
decimal.getcontext().prec = exponent + 1

c = 10 ** exponent + 1
d = decimal.Decimal(float_string) * c

print d #1614000.....000002

关于python - 在 Python 中将 float 与一个非常大的整数相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44462491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com