파이썬에서 스트링이 숫자(정수+실수 합쳐서)인지 어떻게 확인할 수 있을까요?
조회수 8998회
1 답변
-
예외처리를 써보세요.
간단하게 다음과 같이 쓸 수 있습니다
# coding=utf-8 def is_number(num): try: float(num) return True #num을 float으로 변환할 수 있는 경우 except ValueError: #num을 float으로 변환할 수 없는 경우 return False is_number("3.24242424") is_number("5")
다만, 위의 방법은
is_number("NaN")
에서는True
를 return 하므로 이런 예외도 다False
로 처리하고 싶다면 다음과 같이 사용하세요# coding=utf-8 def is_number(num): try: judge = str(float(num)) return False if(judge=='nan' or judge=='inf' or judge =='-inf') else True except(ValueError, type): #num을 float으로 변환 할 수 없는 경우 return False
댓글 입력