Learn to share,Share to learn

round 함수와 소수 출력 본문

알고리즘

round 함수와 소수 출력

Rogue One 2024. 2. 17. 16:49

https://velog.io/@jsb100800/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EB%A7%88%EC%97%90%EC%8A%A4%ED%8A%B8%EB%A1%9C-13%EA%B8%B0-%EC%BD%94%EB%94%A9-%ED%85%8C%EC%8A%A4%ED%8A%B8-2%EC%B0%A8-%ED%9B%84%EA%B8%B0

 

[소프트웨어 마에스트로 13기] 코딩 테스트 2차 후기

소프트웨어 마에스트로 13기 선발과정 2차 코딩테스트 응시 복기 및 후기.

velog.io

후기를 보다보니 한번 정리할만한것이 있어 작성한다.

일단 round함수가 무엇인지는 모두 알고있을것이다. 반올림해주는 함수!

 

round 뒤에 붙는 숫자는 보여주고 싶은 소수점만큼 적는것 정도만 기억하면 쉽다

  • round(123.4567, 2) → 123.46: 소수점 아래 둘째 자리까지 반올림
  • round(123.4567, 1) → 123.5: 소수점 아래 첫째 자리까지 반올림
  • round(123.4567) 또는 round(123.4567, 0) → 123: 가장 가까운 정수로 반올림

 

그런데 이런 파이썬의 round함수는 특이한 성질이 있다. 바로 짝수의 방향으로 바뀐다는것.

예를 들어, 2.5 는 3이 아닌 2가 되며, 3.5 는 4가 된다. 

https://velog.io/@sparkbosing/python-round-%EC%A3%BC%EC%9D%98%EC%A0%90

 

또 하나 소수 관련 알아둘것은 %f 포멧팅에도 함정이 있다는것!

a = 3.12612421
print('%.2f' % (a))  # 출력 => 3.13

 

%f 포멧팅을 하면 자동으로 반올림을 해준다!

그렇다면 이런점을 원하지 않는다면 어떻게 해야할까?

Print('%.2f' % (int(a * 100) / 100))  # 출력 => 3.12

혹은

import math

a = 3.12612421
result = math.floor(a * 100) / 100
print(result)  # 출력 => 3.12

이런 방법을 사용해주어야 한다.

 

'알고리즘' 카테고리의 다른 글

dfs, bfs 정리  (0) 2024.02.20
유용한 함수들 총정리  (0) 2024.02.16
startswith 함수에 대해 알아보자  (0) 2024.02.16
문자열로 변환해 비교하기  (0) 2024.02.08
2차원 배열 초기화와 DP  (0) 2024.02.02