Python将任意数字转换为10的幂(电子表示法)

时间:2016-04-19 13:31:07

标签: python-3.x

在我的程序中显示大数字,因此我想要将任何数字转换为10的幂(电子记数法)。我尝试了一个想法,但我得到一个错误,上面写着:

OverflowError: cannot convert float infinity to integer

我如何成功?

1 个答案:

答案 0 :(得分:7)

在Python float中,通常是双精度IEEE-754浮点数;它有11个指数位,实际上它意味着它最多可以表示一个~2 ^ 1024的数字。如果你得到的结果大于:Python会将其转换为IEEE 754无穷大:

>>> 1e308
1e+308
>>> 1e309
inf

因此,这个大数字不能表示为float

大于此值的数字仍可在Python中表示为十进制或整数/长。