Python Glossary English

все 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Сообщить о неточности