Python Glossary English

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

unicodedata.decimal()

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

Возвращает значение десятичной цифры (категория Nd) как int: работает и для арабских, и для деванагари, и для других цифр.

Синтаксис

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

Это самая узкая из трёх функций: '²' и '½' для неё не цифры — ValueError, если не передан default. Её множество совпадает с str.isdecimal() и с тем, что понимает int(): int('٣') == 3, а int('²') падает. Поэтому проверять ввод перед int() надо isdecimal(), а не isdigit().

Примеры

import unicodedata
print(unicodedata.decimal('٣'), int('٣'))  # → 3 3
print(unicodedata.decimal('²', -1), '²'.isdigit())  # → -1 True
unicodedata.decimal('²')  # → ValueError: not a decimal

См. также

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

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