Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查python int是否太大,无法转换为float_Python_Floating Point_Integer - Fatal编程技术网

检查python int是否太大,无法转换为float

检查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

在python中,有没有办法检查长整数是否太大而无法转换为浮点

>>> 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
的整数可以在不引发
溢出错误的情况下进行转换。