5
Uzun bir tamsayı python'daki bir float değerine dönüştürmek için çok büyük olup olmadığını kontrol etmenin bir yolu var mı?Python int float'a dönüştürülemeyecek kadar büyük olup olmadığını kontrol edin
Uzun bir tamsayı python'daki bir float değerine dönüştürmek için çok büyük olup olmadığını kontrol etmenin bir yolu var mı?Python int float'a dönüştürülemeyecek kadar büyük olup olmadığını kontrol edin
>>> import sys
>>> sys.float_info.max
1.7976931348623157e+308
Aslında, bir kayan noktaya çok büyük bir tamsayı dönüştürmeye çalışırsanız, bir istisna kaldırılır.
>>> 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
Pedallar için: kenar durumlarını önemsiyorsanız, ikinci yöntem ('deneyin ve gör') biraz daha güvenilirdir. Sys.float_info.max'dan daha büyük tamsayılar vardır (sadece küçük bir miktar olsa da). Tipik bir makinede 'int (sys.float_info.max)' '2 ** 1024 - 2 ** 971''dir, ancak 2 ** 1024 - 2 ** 970 - 1' arası ve dahil olmak üzere tam sayıları dönüştürülebilir. OverflowError'ı yükseltmeden. –