Поиск целого числа python

Check if a number is integer or decimal in Python

This article explains how to check if a number is an integer or a decimal in Python.

See the following article for how to get the fractional and integer parts.

See the following article to check if a string is a number.

Check if an object is int or float : isinstance()

You can get the type of an object with the built-in type() function.

i = 100 f = 1.23 print(type(i)) print(type(f)) # # 

You can also check if an object is of a specific type with the built-in isinstance() function.

print(isinstance(i, int)) # True print(isinstance(i, float)) # False print(isinstance(f, int)) # False print(isinstance(f, float)) # True 

In this case, only the type is checked, so you cannot check if the value of float is an integer (i.e., if the fractional part is 0).

f_i = 100.0 print(type(f_i)) # print(isinstance(f_i, int)) # False print(isinstance(f_i, float)) # True 

Check if float is an integer: is_integer()

float has the is_integer() method that returns True if the value is an integer and False otherwise.

f = 1.23 print(f.is_integer()) # False f_i = 100.0 print(f_i.is_integer()) # True 

For example, you can define a function that returns True for an integer number ( int or integer float ). This function returns False for str .

def is_integer_num(n): if isinstance(n, int): return True if isinstance(n, float): return n.is_integer() return False print(is_integer_num(100)) # True print(is_integer_num(1.23)) # False print(is_integer_num(100.0)) # True print(is_integer_num('100')) # False 

Check if a numeric string represents an integer

If you want to check if a numeric string represents an integer value, you can use the following function:

This function attempts to convert the value to float using float() . If the conversion is successful, it calls the is_integer() method and returns the result.

def is_integer(n): try: float(n) except ValueError: return False else: return float(n).is_integer() print(is_integer(100)) # True print(is_integer(100.0)) # True print(is_integer(1.23)) # False print(is_integer('100')) # True print(is_integer('100.0')) # True print(is_integer('1.23')) # False print(is_integer('string')) # False 

See the following articles for details on converting strings to numbers and handling exceptions with try . except . .

Источник

Python: проверка, является ли переменная числом

В этой статье мы рассмотрим несколько примеров того, как проверить, является ли переменная числом в Python.

Python имеет динамическую типизацию. Нет необходимости объявлять тип переменной во время ее создания — интерпретатор определяет тип во время выполнения:

variable = 4 another_variable = 'hello' 

Кроме того, переменную можно переназначить новому типу в любой момент:

# Присвойте числовое значение variable = 4 # Переназначить строковое значение variable = 'four' 

Этот подход, имея преимущества, также знакомит нас с несколькими проблемами. А именно, когда мы получаем переменную, мы обычно не знаем, какого она типа. Если мы ожидаем число, но получаем неопределенный variable , мы захотим проверить, является ли он числом, прежде чем выполнять какие-то действия.

Использование функции type()

В Python функция type() возвращает тип аргумента:

myNumber = 1 print(type(myNumber)) myFloat = 1.0 print(type(myFloat)) myString = 's' print(type(myString)) 

Таким образом, способ проверки типа:

myVariable = input('Enter a number') if type(myVariable) == int or type(myVariable) == float: # Do something else: print('The variable is not a number') 

Здесь мы проверяем, является ли тип переменной, введенной пользователем, int или float , продолжая выполнение программы, если это так. В противном случае мы уведомляем пользователя, что он ввел переменную, отличную от Number. Помните, что если вы сравниваете несколько типов, например int или float , вам придется использовать эту type() функцию оба раза.

Если бы мы просто сказали if type(var) == int or float , что вроде бы нормально, возникла бы проблема:

myVariable = 'A string' if type(myVariable) == int or float: print('The variable a number') else: print('The variable is not a number') 

Это, независимо от ввода, возвращает:

Это потому, что Python проверяет значения истинности утверждений. Переменные в Python могут быть оценены как True за исключением False , None , 0 и пустых [] , <> , set() , () , » или «» .

Следовательно, когда мы пишем or float в нашем условии, это эквивалентно записи or True , которая всегда будет возвращать True .

numbers.Number

Хороший способ проверить, является ли переменная числом — это модуль numbers . Вы можете проверить, является ли переменная экземпляром класса Number , с помощью функции isinstance() :

import numbers variable = 5 print(isinstance(5, numbers.Number))

Примечание. Этот подход может неожиданно работать с числовыми типами вне ядра Python. Некоторые фреймворки могут иметь нечисловую реализацию Number , и в этом случае этот подход вернет ложный результат False .

Использование блока try-except

Другой способ проверить, является ли переменная числом — использовать блок try-except. В блоке try мы преобразуем данную переменную в int или float . Успешное выполнение блока try означает, что переменная является числом, то есть либо int , либо float :

myVariable = 1 try: tmp = int(myVariable) print('The variable a number') except: print('The variable is not a number')

Это работает как для int, так и для float, потому что вы можете привести int к float и float к int.

Если вы специально хотите только проверить, является ли переменная одной из них, вам следует использовать функцию type() .

String.isnumeric()

В Python isnumeric() — это встроенный метод, используемый для обработки строк. Методы issnumeric() возвращают «True», если все символы в строке являются числовыми символами. В противном случае он возвращает «False».
Эта функция используется для проверки, содержит ли аргумент все числовые символы, такие как: целые числа, дроби, нижний индекс, верхний индекс, римские цифры и т.д. (Все написано в юникоде)

string = '123ayu456' print(string.isnumeric()) string = '123456' print( string.isnumeric()) 

String.isdigit()

Метод isdigit() возвращает истину, если все символы являются цифрами, в противном случае значение False.

Показатели, такие как ², также считаются цифрами.

print("\u0030".isdigit()) # unicode for 0 print("\u00B2".isdigit()) # unicode for ² 

Источник

Check number is integer in Python

In this post, we are going to learn how to Check number is an integer in Python by using some built-in functions.We will ask user to input a number and check the type of input based on that return True or False.

5 Ways to Check number is integer in Python

  • type() :use type() function to check input numer is int or float
  • isinstance(): use to check if number is int or float
  • is_integer() : check float input is integer
  • check if input number is integer using Regular Expression
  • check string number is integer

1. Check input number is integer using type() function

In this example we are using built-in type() function to check if input number is integer or float.The type function will return the type of input object in python.

input_num = eval(input("Please Enter input :")) if type(input_num) ==int: print("Number is integer:",type(input_num)) if type(input_num) ==float: print("Number is not integer",type(input_num))

Please Enter input :112 Number is integer:

Please Enter input :45 Number is integer: True Number is float: False

3. check float number is integer using is_integer()

The is_integer() function return true if float value is finite with integer value otherwise return false.

input_num = eval(input("Please Enter float input :")) print("Number is integer:",input_num.is_integer())
Please Enter float input :45.9 Number is integer: False

4. Check input number is integer Using Regex

In this Python program example, we have defined a regular expression to check if input number is integer.The regular expression check the input number and return true and false.

  • If input number is integer it will return true
  • if input number is not integer it will return False.
import re input_num = input("Please Enter input :") reg_exp = re.compile(r'^\-?21*$') is_int = re.match(reg_exp,input_num) if is_int: print("Number is integer:") else: print("Number is not integer")
Please Enter input :45.9 Number is not integer

5. Check string number is integer

Sometimes we have an integer number as a string. In this python code example we are checking if the input string number is integer.

  • First we have converted input value to float using the float() function.
  • Secondly used the is_integer() function to check if it is integer.
def check_str_isInt(input_num): try: float(input_num) except ValueError: return False else: return float(input_num).is_integer() input_num = input("Please Enter input :") print(check_str_isInt(input_num))
Please Enter input :56.7 False Please Enter input :'34' False

Summary

In this post we have learned multiple ways of how to Check number is integer in Python using built in function type(),is_integer(),isinstance()

Источник

Читайте также:  Php add query parameter
Оцените статью