[Python]반올림 함수 round() 사용 시 0.00이 0.0로 출력되는 오류 해결

 

파이썬  코드업 기초 100제 6085번 문제

w, h, b=map(int, input().split())
answer = w*h*b/8/1024/1024
print(round(answer, 2), "MB")

round(answer ,2)를 사용하여 소수점 둘째자리까지 남기고 그 아래로 반올림 하는 함수이다

 

입력값으로 100 100 4를 주어진다면

answer은 0.004......이기 때문에 

0.00으로 출력되어야한다.

 

하지만, round 함수를 사용했을 경우,

0.0으로 소수점 한자리까지만 출력되는 오류를 발견했다 

 

해결법
{:.2f}를 사용하여 둘째자리까지 남기고 반올림하였다.


 
w, h, b=map(int, input().split())
answer = w*h*b/8/1024/1024
print('{:.2f}'.format(answer), "MB")

#float 변수 answer을 소수점 2번째까지 남기게 해준다

 

 

 

입력값 

100 100 4

 

출력값 0.00 MB