Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 float() 함수 완벽 정리: 숫자와 문자열을 실수형으로 변환하는 방법

float() 함수는 파이썬 표준 라이브러리에 포함된 내장 함수로, 숫자 또는 숫자를 담고 있는 문자열을 실수(float) 자료형으로 변환해 줍니다. 정수뿐만 아니라 문자열 형태의 숫자도 손쉽게 실수로 바꿀 수 있어 데이터 처리 과정에서 매우 자주 사용됩니다.

float()로 변환 가능한 문자열의 조건

문자열이 float() 함수로 변환되기 위해서는 다음과 같은 규칙을 만족해야 합니다.

  • 문자열 안에는 오직 숫자만 포함되어 있어야 합니다.
  • 숫자 사이에 수학 연산자(부호 등)가 포함될 수 있습니다. 예: -21.6
  • 문자열은 NaN(Not a Number) 또는 inf(무한대)를 나타낼 수도 있습니다.
  • 문자열 앞뒤의 공백(white space)은 항상 무시됩니다.

사용 예제

아래 프로그램은 float() 함수를 다양한 값에 적용했을 때 어떤 결과가 반환되는지 보여줍니다.

n = 89
print(type(n))
f = float(n)
print(type(f))
print("input", 7, " with float function becomes ", float(7))
print("input", -21.6, " with float function becomes ", float(-21.6))
print("input NaN, with float function becomes ", float("NaN"))
print("input InF, with float function becomes ", float("InF"))

실행 결과

<class 'int'>
<class 'float'>
input 7 with float function becomes 7.0
input -21.6 with float function becomes -21.6
input NaN, with float function becomes nan
input InF, with float function becomes inf

실행 결과를 보면 정수 77.0으로, 이미 실수인 -21.6은 그대로 유지되며, 특수 값인 NaNInF(대소문자 구분 없음)도 각각 nan, inf로 정상적으로 변환되는 것을 확인할 수 있습니다.

변환할 수 없는 값이 전달될 경우

반면, 숫자가 아닌 값을 전달하면 에러가 발생합니다.

print("input Tutorials, with float function becomes ", float("Tutorials"))

실행 결과

Traceback (most recent call last):
    File "C:/xxx.py", line 18, in
      print("input Tutorials, with float function becomes ",float("Tutorials"))
ValueError: could not convert string to float: 'Tutorials'

위 예제처럼 숫자로 해석할 수 없는 문자열 'Tutorials'를 변환하려고 하면 ValueError가 발생합니다. 따라서 실무에서는 외부 입력값을 float()로 변환하기 전에 try-except 문으로 예외 처리를 해주거나, 문자열의 유효성을 먼저 검사하는 것이 안전합니다.