파이썬에서 숫자가 정수인지 소수인지 확인하기

사업

Python에서 숫자가 정수인지 소수인지 확인합니다.

다음의 경우는 샘플 코드로 설명합니다.

  • 숫자가 정수 int인지 부동 소수점 float인지 결정합니다.:isinstance()
  • float 유형 숫자가 정수인지 판별합니다(소수점 0자리).:float.is_integer()
  • 숫자 문자열이 정수인지 확인

10진수의 정수 및 10진수 값을 얻으려면 다음 문서를 참조하십시오.

문자열이 정수인지 십진수인지가 아니라 숫자(중국 숫자 등 포함)인지 판별하는 방법에 대한 정보는 다음 문서를 참조하십시오.

숫자가 정수 또는 부동 소수점 유형인지 여부를 결정합니다.:isinstance()

객체의 유형은 내장 함수 type()으로 얻을 수 있습니다.

i = 100
f = 1.23

print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>

isinstance(object, type)
이 내장 함수를 사용하여 개체가 특정 유형인지 확인할 수 있습니다. 이것은 숫자가 정수 또는 부동 소수점 유형인지 판별하는 데 사용할 수 있습니다.

print(isinstance(i, int))
# True

print(isinstance(i, float))
# False

print(isinstance(f, int))
# False

print(isinstance(f, float))
# True

이 경우 유형만 판단하므로 float 유형 값이 정수(소수점 0)인지 여부를 판단할 수 없습니다.

f_i = 100.0

print(type(f_i))
# <class 'float'>

print(isinstance(f_i, int))
# False

print(isinstance(f_i, float))
# True

float 유형 숫자가 정수인지 판별합니다(소수점 0자리).:float.is_integer()

is_integer() 메서드는 값이 정수이면 true를 반환하고 그렇지 않으면 false를 반환하는 float 유형에 대해 제공됩니다.

f = 1.23

print(f.is_integer())
# False

f_i = 100.0

print(f_i.is_integer())
# True

예를 들어 정수에 대해 true를 반환하는 함수는 다음과 같이 정의할 수 있습니다. 반면에 문자열 유형은 false입니다.

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

숫자 문자열이 정수인지 확인

정수 숫자의 문자열도 정수인지 확인하려면 다음 함수가 가능합니다.

float()로 float형으로 변환할 수 있는 값의 경우 float로 변환한 후 is_integer()메소드를 적용하여 결과를 반환한다.

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

문자열을 숫자로 변환하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

문자열이 숫자(중국 숫자 등 포함)인지 판별하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

Copied title and URL