在我的程序中显示大数字,因此我想要将任何数字转换为10的幂(电子记数法)。我尝试了一个想法,但我得到一个错误,上面写着:
OverflowError: cannot convert float infinity to integer
我如何成功?
答案 0 :(得分:7)
在Python float
中,通常是双精度IEEE-754浮点数;它有11个指数位,实际上它意味着它最多可以表示一个~2 ^ 1024的数字。如果你得到的结果大于:Python会将其转换为IEEE 754无穷大:
>>> 1e308
1e+308
>>> 1e309
inf
因此,这个大数字不能表示为float
。
大于此值的数字仍可在Python中表示为十进制或整数/长。