Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스터디
- 글자색 투명
- 스크럼개발프로세스
- MPAndroid
- 원형 모형
- 리눅스마스터 2차
- 모각코
- 모각코후기
- 길벗정보처리기사필기
- 오류
- 플러터 생존코딩
- 코뮤니티
- 애자일 모형
- 9시간 차이
- 합격
- 소수점 출력
- 온라인 코딩 스터디
- the password has expired
- 제품책임자
- 파이썬 시간
- 소멸차트
- 소프트웨어 생명 주기
- missing or invalid password(s)
- 비밀번호만료
- 라우트
- round()
- 프로토타입 모형
- db
- 파이썬
- 정보처리기사필기기본서
Archives
- Today
- Total
기-억하기 위해 기-록을
[Python] 소수점 자리 수 출력 - round(), format() 본문
시험성적 평균과 등급 구하기
평균은 소수점 2번째 자리까지만 (3번째 자리에서 반올림) 출력하며
등급은 평균 90점 이상일 경우 A
90점 미만 80점 이상일 경우 B
80점 미만 70점 이상일 경우 C
70점 미만 60점 이상일 경우 D
60점 미만으로는 F
평균을 소수점 2번째 자리까지만 나타내기 위하여 처음에는 round() 함수를 사용하였습니다.
avg = round(avg,2)
100.00으로 출력되어야 하지만 끝자리의 0이 사라진 채 100.0으로 나타나는 것을 확인할 수 있었습니다.
round() 함수는 끝자리가 0이면 출력하지 않는 문제가 있었습니다.
원하는 출력형식을 나타내기 위해서 format() 함수를 사용해봤습니다.
avg = format(avg,".2f")
이 결과 원하는 값을 얻을 수 있었습니다.
정리
round() 함수
number를 소수점 다음 ndigits 정밀도로 반올림한 값을 돌려줍니다.
ndigits가 생략되거나 None 이면 입력에 가까운 정수를 돌려줍니다.
float에 대한 round() 동작은 예상과 다를 수 있습니다.
round(2.675, 2)는 2.68 대신 2.67을 제공하며 버그가 아닌
십진 소수가 float로 정확히 표현될 수 없다는 사실로부터 오는 결과라고 할 수 있습니다.
공식 문서 : docs.python.org/ko/3/library/functions.html#round
'Python' 카테고리의 다른 글
[Python] 장고 admin 시간 (0) | 2021.02.18 |
---|---|
[Python] 파이썬 시간을 한글 포맷하다 생긴 오류 (0) | 2021.01.26 |