检查python int是否太大,无法转换为float
在python中,有没有办法检查长整数是否太大而无法转换为浮点检查python int是否太大,无法转换为float,python,floating-point,integer,Python,Floating Point,Integer,在python中,有没有办法检查长整数是否太大而无法转换为浮点 >>> import sys >>> sys.float_info.max 1.7976931348623157e+308 实际上,如果您试图将太大的整数转换为浮点,则会引发异常 >>> float(2 * 10**308) Traceback (most recent call last): File "<stdin>", line 1, in <mod
>>> import sys
>>> sys.float_info.max
1.7976931348623157e+308
实际上,如果您试图将太大的整数转换为浮点,则会引发异常
>>> float(2 * 10**308)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: Python int too large to convert to C double
浮动(2*10**308)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
溢出错误:Python int太大,无法转换为C double
对于学究:如果你关心边缘情况,那么第二种方法(“试试看”)更可靠一些。有一些大于sys.float_info.max的整数(虽然只有很小的数值)仍然可以安全地转换为float。在典型的机器上,
int(sys.float\u info.max)
是2**1024-2**971
,但是小于等于2**1024-2**970-1
的整数可以在不引发溢出错误的情况下进行转换。