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
문자열을 숫자로 변환하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.
문자열이 숫자(중국 숫자 등 포함)인지 판별하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.