Categories: Python

Проверить является ли строка числом в Python

Часто вам бывает нужно проверить, является ли строка числом. Это происходит все время, например, при заполнении пользователем полей, при извлечении данных из базы, или при чтении файла. В зависимости от того какая задача перед вами стоит, вы можете использовать разные методы, например разбор строки регулярными выражениями или попытаться конвертировать строку и посмотреть что происходит. Но спешу вам сообщить что для упрощения этой задачи в Python уже есть отличная встроенная функция — isdigit(). В случае если строка является числом эта функция возвращает True. Если же не является — False.

Пример

>>> string = "306"
>>> string.isdigit()
True

>>> string = "neer"
>>> string.isdigit()
False

>>> string = "neer306" >>> string.isdigit() False

К сожалению функция isdigit не работает для чисел с плавающей точкой и для отрицательных чисел. Так что для такой проверки можно использовать следующую функцию, которая представляет собой комбинацию из проверки isdigit и обычного конвертирования во float:

def is_digit(string):
if string.isdigit():
return True
else:
  try: float(string) return True except ValueError: return False

Проверяем:

>>>print(is_digit('neer'))
False

>>>print(is_digit('neer306'))
False

>>>print(is_digit('306'))
True

>>>print(is_digit('0.05'))
True

>>>print(is_digit('0.05abc'))
False
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

6 дней ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

6 дней ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

6 дней ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

6 дней ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

6 дней ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

6 дней ago