실수(float) 1개를 입력받아 저장한 후,
저장되어 있는 값을 소수점 셋 째 자리에서 반올림하여
소수점 이하 둘 째 자리까지 출력하시오.
참고
%.3f 와 같은 형식으로 지정하면,
소수점 이하 넷 째 자리에서 반올림하여 소수점 이하 셋 째 자리까지 출력하라는 의미이다.
a = float(input())
print("%.2f" % a)
a = float(input())
a = "{0:.2f}".format(a)
print(a)
라운드 함수를 쓰지 않는 이유는 다른 블로그들에도 나와 있는 것 처럼
Round_Half_Even방식이기 때문이라 한다.
우리가 알고 있는 0.5 -> 1.0이 되는 방식은 Round_Half_Up방식이다.
Round_Half_Even 영어로 Round to Nearest even이라고 하는데 반올림 하려는 자리수가 5인 경우 바로 앞자리 수가 홀수면 올림, 짝수면 버림을 한다.
a = float(input())
print(round(a, 2))
1.335 <-인풋으로 입력 받은 값
1.33
원래 우리가 알고 있는 방식으로는 1.34가 되어야 하는 것이지만
반올림 하려는 자리수 바로 앞자리가 홀수 임으로 버림을 한다.
[숙제]
몇가지 찾아보니 라운드 함수는 반올림함수가 아니고 은행에서 쓰는 전용 함수라고 본거 같다. 이거 또한 왜 파이썬에서 기본으로 채택했는지 궁금하나... 할게 많음으로.. 일단 지금은 패스..
import decimal
a = float(input())
print(decimal.ROUND_HALF_DOWN(a))
이렇게 직접적으로 하프다운방식을 쓴는 방법도 있는거 같은데 아직 성공하진 못했다. 나중에 또 관심이 생기면 업데이트하면서 알아보도록 해야겠다.