Как проверить, является ли строка целым числом в Python

Есть ли способ проверить, представляет ли строка целое число или нет? Ответ: Да . Есть много способов проверить, является ли строка целым числом или нет.

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

Чтобы проверить, является ли строка целым числом в Python, используйте метод string isdigit (). Строка isdigit () — это встроенный метод, используемый для проверки того, состоит ли данная строка только из цифр. Другими словами, мы можем сказать, что он проверяет, являются ли символы, присутствующие в строке, цифрами или нет.

 def checkInt (str): if str [0] in ('-', '+  '): return str [1:]. isdigit () return str.isdigit () print (checkInt ("+ 21")) 

Вывод

 True 

Давайте разберемся с этим кодом шаг за шагом. Мы определили специальную функцию, которая принимает строку, которую мы хотим проверить. Используя условие if, мы проверяем первый символ строки на или +.

Если строка начинается с одного из этих знаков, он проигнорирует это, а затем проверит целое число с помощью isdigit () , и в зависимости от результата она вернет True или False .

Если строка не начинается со знака + или , она будет напрямую проверьте строку и верните результат.

Если вы передадите строковое представление значений типа float или double, оно вернет False .

Использование блока try-except с настраиваемой функцией

Вы также можно создать пользовательскую функцию с блоком try-except и функцией int (). Int () — это встроенный метод, который возвращает целочисленный объект из любого числа или строки. Давайте определим функцию, которая проверяет, является ли строка целым числом или нет.

 def checkInt (str): try: int (str) return True, кроме ValueError: return Falseprint (checkInt ("+ 21"  )) 

Вывод

 True 

Здесь вы можете увидеть, что «21» легко преобразовать в целое число. Вот почему он возвращает True . Если передать значение с плавающей запятой как строку, оно вернет False .

 def checkInt (str): try: int (str) return True, кроме ValueError:  return Falseprint (checkInt ("+ 21.0")) 

Вывод

 False 

Как вы можете видеть, если мы передадим значение с плавающей запятой, оно вернет False .

Использование регулярного выражения

Если вы должны принимать десятичные дроби в строке, вы можете написать регулярное выражение для проверки числового значения в строке.

Для работы с регулярными выражениями в Python импортируйте модуль re в свой файл.

 import redef check_int (str): return re. match (r "[- +]?  d + (. 0 *)? $", str) is not Noneprint (check_int ("+ 21.0")) 

Вывод

 True 

Вы можете видеть, что, несмотря на передачу десятичного представления строки, оно возвращает True.

То есть это для этого урока.

Оцените статью
nanomode.ru
Добавить комментарий