Python Glossary English

все Python 3unicodedataфункция

unicodedata.numeric()

числовые значения

Возвращает числовое значение символа как float: дроби '½', римские 'Ⅻ', иероглифические числа '四' и обычные цифры.

Синтаксис

unicodedata.numeric(chr, default=None, /)

Самая широкая из трёх функций и единственная, что возвращает float — даже для '5' это 5.0. Её множество совпадает с str.isnumeric(), поэтому isnumeric() истинно для '½', которую ни int(), ни float() не разберут. Работает по одному символу: строку '12' или '1½' нужно разбирать самостоятельно.

Примеры

import unicodedata
print(unicodedata.numeric('½'), unicodedata.numeric('Ⅻ'), unicodedata.numeric('四'))  # → 0.5 12.0 4.0
print(unicodedata.numeric('5'), '½'.isnumeric())  # → 5.0 True
unicodedata.numeric('a')  # → ValueError: not a numeric character

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности