파이썬 float() 사용법 3가지

파이썬 float() 함수는 다른 데이터 타입을 실수(부동소수점)로 변환하는 데 사용됩니다. 실수는 정수와 달리 소수점 이하의 값을 가질 수 있는 숫자형 데이터 타입을 의미합니다. 이번 포스팅에서는 float() 함수의 기본적인 사용법부터, 이를 응용한 다양한 활용 방법까지 알아보겠습니다.

파이썬 float() 함수란?

float() 함수는 파이썬에서 문자열이나 정수형 데이터실수로 변환하는 함수입니다. 기본적인 문법은 다음과 같습니다.

Python
float(값)

여기서 값은 실수로 변환하고자 하는 숫자형 또는 문자열 데이터를 의미합니다. 실수를 활용하면 정밀한 계산이 가능해지고, 다양한 수학적 연산에서도 유용하게 사용할 수 있습니다.

float() 함수의 기본 사용법

정수를 실수로 변환하기

먼저 float()의 가장 간단한 사용법은 정수를 실수로 변환하는 것입니다.

Python
num = 17
float_num = float(num)
print(float_num)

위 예제에서는 정수형 17float() 함수를 사용해 실수형 17.0으로 변환했습니다. 여기서 중요한 점은, float() 함수를 사용하면 소수점 이하에 0이 추가된다는 것입니다. 이를 통해 파이썬은 해당 값을 실수형으로 인식하게 됩니다.

그림 1. 파이썬 float()로 정수 17을 실수 17.0으로 변환
그림 1. 파이썬 float()로 정수 17을 실수 17.0으로 변환

문자열을 실수로 변환하기

float() 함수는 숫자형 문자열도 실수로 변환할 수 있습니다.

Python
num_str = "3.14"
float_num = float(num_str)
print(float_num)

위 예제에서는 문자열 "3.14"float() 함수로 실수형으로 변환했습니다. 이처럼 문자열 안에 있는 숫자 데이터를 실수형으로 변환할 수 있기 때문에, 사용자 입력 데이터를 처리할 때 유용하게 사용할 수 있습니다.

그림 2. 파이썬 float()로 문자열 3.14를 실수 3.14로 변환
그림 2. 파이썬 float()로 문자열 3.14를 실수 3.14로 변환

그러나 문자열이 숫자로 변환될 수 없는 경우에는 오류가 발생합니다.

Python
num_str = "hello"
float_num = float(num_str)

아래와 같이 “ValueError: could not convert string to float: ‘hello’“라는 오류 메시지로 알려줍니다.

그림 3. 파이썬 float()로 변환할 수 없는 문자열인 경우 발생하는 ValueError
그림 3. 파이썬 float()로 변환할 수 없는 문자열인 경우 발생하는 ValueError

이 경우에는 오류 처리를 위해 예외 처리 구문을 사용할 수 있습니다.

Python
try:
    float_num = float("hello")
except ValueError:
    print("변환할 수 없는 값입니다.")

아래 그림과 같이 예외시의 처리 코드인 print()가 실행되는 것을 확인할 수 있습니다.

그림 4. 파이썬 float()로 변환할 수 없는 경우에 대한 예외 처리
그림 4. 파이썬 float()로 변환할 수 없는 경우에 대한 예외 처리

Boolean 값을 실수형으로 변환

불리언형 값인 True나 False 또한 실수형으로 변환할 수 있습니다. 아래 그림과 같이 True는 1.0으로 False는 0.0으로 변환됩니다.

그림 5. 파이썬 불리언형 값을 실수형 값으로 변환
그림 5. 파이썬 불리언형 값을 실수형 값으로 변환

주의할 점: 매우 큰 숫자와 매우 작은 숫자

파이썬의 float() 함수는 매우 큰 숫자나 매우 작은 숫자를 다룰 때 유용합니다. 파이썬은 부동소수점 표기법을 사용해 매우 큰 숫자나 작은 숫자를 처리합니다.

Python
large_num = 1e207
small_num = 1e-207
print(float(large_num))
print(float(small_num))

여기서 1e308은 10의 207승을 의미합니다. float() 함수는 이러한 큰 숫자를 처리하는 데 있어서도 매우 효율적입니다.

그림 6. 파이썬 float()로 매우 큰 숫자나 작은 숫자 처리
그림 6. 파이썬 float()로 매우 큰 숫자나 작은 숫자 처리

NaN과 Inf 다루기

float() 함수는 숫자가 아닌 값(Not a Number, NaN)이나 무한대 값(Inf)을 처리하는 경우도 있습니다. 이를 활용하면 비정상적인 계산 결과를 처리할 수 있습니다.

Python
nan_value = float("nan")
inf_value = float("inf")
print(nan_value)
print(inf_value)

NaN은 “숫자가 아님”을 나타내며, 주로 잘못된 계산의 결과로 발생합니다. Inf는 무한대를 의미하며, 매우 큰 값을 나타내거나 0으로 나누는 경우에 발생할 수 있습니다. 물론 python의 모듈 math를 사용해서 아래와 같이 사용할 수도 있습니다.

Python
import math
nan_value = math.nan
inf_value = math.inf

float()와 반올림

실수형 데이터를 다룰 때 종종 소수점 이하의 값을 조정할 필요가 생깁니다. 파이썬에서는 실수값에 대해서 round() 함수를 사용해 소수점 이하 자릿수를 조정할 수 있습니다.

Python
num = 3.1415926535897
rounded_num = round(num, 2)  # 소수점 2번째 자리까지 반올림
print(rounded_num)

아래와 같이 소숫점 셋째 자리 이하가 모두 둘째 자리까지 반올림된 것을 확인할 수 있습니다.

그림 7. 파이썬 실수형 값의 반올림
그림 7. 파이썬 실수형 값의 반올림

float()와 산술 연산

float() 함수는 산술 연산에도 자주 사용됩니다. 파이썬에서는 정수와 실수를 함께 연산할 수 있으며, 그 결과는 자동으로 실수형으로 변환됩니다.

Python
int_num = 10
float_num = 7.3
result = int_num + float_num
print(result)

아래 그림에서 정수와 실수를 더한 결과가 실수형으로 자동 변환된 것을 볼 수 있습니다.

그림 8. 파이썬에서 정수형 값과 실수형 값의 합산 결과는 실수형
그림 8. 파이썬에서 정수형 값과 실수형 값의 합산 결과는 실수형

이처럼 float() 함수는 다양한 산술 연산에서도 유용하게 쓰입니다.

실수형 값 출력 포맷팅

실수형 값에 대해서 출력하는 경우, 출력 형식을 지정할 수 있습니다.

Python
pi = 3.141592
print("%8.2f" % pi)

아래와 같이 총 8칸의 공간에 소수점 2자리까지 출력되는 것을 확인할 수 있습니다.

그림 9. 파이썬에서 실수형 값의 출력 형식을 지정하여 출력
그림 9. 파이썬에서 실수형 값의 출력 형식을 지정하여 출력

정리

파이썬의 float() 함수는 숫자를 실수형으로 변환하는 데 매우 유용한 함수입니다. 실수를 활용한 정밀한 계산뿐만 아니라, 큰 숫자와 작은 숫자, NaNInf와 같은 특수 값 처리에도 강력한 기능을 제공합니다. 이와 함께 round() 함수나 산술 연산과 결합하여 다양한 방식으로 사용할 수 있습니다. 마지막으로 float() 함수를 사용할 때는 예외 처리를 통해 안전한 코드 작성을 권장합니다.

참고자료

관련 포스트

Leave a Comment