все Python 3Числа и математикафункция
float.fromhex
hex
Классовый метод: разбирает шестнадцатеричную строку (формат float.hex()) обратно в число с плавающей точкой без потерь.
Синтаксис
float.fromhex(s)
Все цифры после точки читаются как шестнадцатеричные, а префикс 0x необязателен — поэтому '3.5' здесь не три с половиной, а 3 + 5/16 = 3.3125. Метод нужен ровно для одного: перегнать float между программами бит в бит; для обычного разбора введённого пользователем текста берут float(s). Строка не того формата даёт ValueError, а не молчаливый ноль.
Примеры
print(float.fromhex('0x1.8p+1')) # → 3.0
print(float.fromhex('0x1.0p+0')) # → 1.0
print(float.fromhex('-0x1p-1')) # → -0.5
print(float.fromhex('3.5')) # → 3.3125
print(float.fromhex((0.1).hex()) == 0.1) # → True
print(float.fromhex('hello')) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности