본문 바로가기
방구석코딩/파이썬 기초문법

파이썬 변수 유형, float 함수 변환(소수점 반올림, round)

by 석세상 2023. 6. 21.
반응형

파이썬 변수 유형, float 함수 변환에 대해서 알아보도록 하겠습니다.

파이썬 float 함수 활용법

float 함수는 계산, 비교 또는 입력 처리를 처리할 때 특히 유용합니다. 부동 소수점으로 변환하는 데 사용되는 float() 함수에 대한 사용법과 예제를 통해 알아보겠습니다.

 

 

float() 함수

파이썬에서 float() 함수는 값을 부동 소수점 숫자로 변환하고, 숫자, 문자열 또는 정수일 수 있는 단일 인수를 허용합니다. 몇 가지 코드 예제를 통해 float() 함수 사용법을 살펴보겠습니다.

 

 

문자열을 부동 소수점으로 변환

문자로 표시된 값을 숫자형태인 부동 소수점으로 변환하는 방법에 대해 알아보겠습니다.

price = "9.99"
price_float = float(price)
print(price_float)

 

이 예제에는 값 "9.99"를 저장하는 "price"라는 문자열 변수가 있습니다. float() 함수는 이 문자열을 부동 소수점 숫자로 변환하는 데 사용되며 결과 값은 변수 "price_float"에 할당됩니다.

 

"price_float" 값을 인쇄하면 출력은 다음과 같습니다.

9.99

float()를 사용하여 문자열인 "9.99"를 해당 부동 소수점 표현으로 표현합니다. 마찬가지로 사람이 인식하기에는 별 차이 없어보이지만 문자형태의 값을 컴퓨터가 인식하기에 숫자형태로 바뀐거라고 생각하면 됩니다.

 

정수를 실수로 변환

다음은 정수인 숫자를 실수형태로 표현하는 예제를 보겠습니다.

quantity = 10
quantity_float = float(quantity)
print(quantity_float)

이 예에서는 값 10을 저장한 "quantity"라는 정수 형태의 변수가 있습니다. float() 함수는 이 정수를 부동 소수점 숫자로 변환하는 데 사용되며 결과 값은 변수 "quantity_float"에 할당됩니다.

 

"quantity_float" 값을 인쇄하면 출력은 다음과 같습니다.

10.0

float() 함수는 소수점을 추가하고 정수 값에 ".0"을 추가하여 부동 소수점 형태의 숫자로 표현합니다.

 

부울을 부동 소수점으로 변환

부울값을 부동 소수점으로 표현하는 방법에 대해 알아보겠습니다.

is_true = True
is_false = False

true_float = float(is_true)
false_float = float(is_false)

print(true_float)
print(false_float)

이 예제에는 각각 True 및 False 값을 저장하는 부울 변수 "is_true" 및 "is_false"가 있습니다. float() 함수는 이러한 부울 값을 부동 소수점 숫자로 변환하는 데 사용됩니다.

 

"true_float" 및 "false_float" 값을 인쇄하면 출력은 다음과 같습니다.

1.0
0.0

float() 함수는 True를 1.0으로, False를 0.0으로 변환하여 부동 소수점 형태의 숫자로 나타냅니다.

 

float()를 사용하여 문자열을 변환할 때 int() 함수를 이용할때와 마찬가지로 문자열이 유효한 부동 소수점 숫자를 나타내야 한다는 점에 유의하는 것이 중요합니다. 그렇지 않으면 ValueError가 발생합니다.

 

예를 들어 float("abc")는 "abc"가 유효한 float 표현이 아니기 때문에 오류를 발생시킵니다.

 

소수점 반올림 (round)

소수점으로 표현된 값의 경우 소수점을 컨트롤 해야 하는 경우가 생깁니다. 이때 round 함수를 사용하여 소수인 값을 컨트롤 할 수 있습니다.

a = 1.12545

a1 = round(a, 0)
a2 = round(a, 1)
a3 = round(a, 2)

print(a1)
print(a2)
print(a3)

예제에서 a는 1.12545라는 값을 가지고 있으며, a1, a2, a3는 a값에 round 함수를 적용하였습니다.

 

round 함수 괄호안에 적용하고자 하는 숫자를 넣고 ',' 뒤에 소수점 몇번째 자리까지 표현할 것인지 입력합니다. 해당 자리수로 반올림하여 표현합니다.

1.0
1.1
1.13

결과값을 보면 a1의 경우는 소수점 0번째 자리로 반올림했기 때문에 소수 첫번째 자리가 5미만으로 버리게 됩니다. 따라서 1.0으로 표현되었습니다. 만약 a의 값이 1.5 였다면 결과는 2.0으로 표시됩니다.

728x90

a2의 결과는 소수 첫번째 자리로 반올림을 뜻하므로 1.1, a3는 2번째 자리로 반올림으로 소수 3번째 자리가 5 이상의 값으로 반올림 되어 1.13으로 결과가 생성되었습니다.

 

다만 a1의 값이 1로 표현될거라 예상하셨다면 의외라고 생각할 수 있는데, a의 값이 flaot 형태이기 때문에 소수점까지 표현됩니다. 그렇기 때문에 생각과 다를 수 있으므로 실제로 실행해보는 것이 좋습니다.

728x90
반응형

댓글