-
Math메서드, Round(), Rint() 비교하기Java/자바의정석 2023. 2. 22. 23:41반응형
앞전에 Math 메서드를 공부하면서 Round,와 Rint에 대해 공부하였는데
Round는 반올림, Rint는 짝수를 반올림한다고 하였는데 코드를 보며 좀 더 자세하게 이해해보도록 하자.
public class RoundTest { public static void main(String[] args) { double sum = 0; double sum1 = 0; double sum2 = 0; for (double i = 1.5; i <= 10.5; i++) { double d = Math.round(i); double d2 = Math.rint(i); System.out.printf("%4.1f %4.1f %4.1f%n", i, d, d2); sum+=i; sum1 += d; sum2 += d2; } System.out.println("====================="); System.out.printf("%4.1f %4.1f %4.1f%n", sum, sum1, sum2); } }
================실행결과================
1.5 2.0 2.0
2.5 3.0 2.0
3.5 4.0 4.0
4.5 5.0 4.0
5.5 6.0 6.0
6.5 7.0 6.0
7.5 8.0 8.0
8.5 9.0 8.0
9.5 10.0 10.0
10.5 11.0 10.0
=====================
60.0 65.0 60.0
왼쪽부터 차례대로 sum, sum1(round), sum2(rint) 로 계산한 값들이다.
파랑으로 색칠되어있는 부분을 자세히본다면 짝수일때만 round, rint로 계산한 값들이 차이가 생긴다.
rint() 가장가까운 짝수로 반올림 하기 때문이다.
이렇게 생각하면 rint()로 계산을 한다면 값이 이상할거라고 생각하지만 결과값은
rint()가 더 정확하게 나왔다.
sum총합 : 60.0 / round총합 : 65.0 / rint총합 : 60.0
이상으로 rint메서드의 기능을 다시한번 살펴보았다.
반응형'Java > 자바의정석' 카테고리의 다른 글
자바 예제로 살펴보는 Calendar 여러가지 기능들(1) (0) 2023.02.23 자바 Calendar의 여러가지 기능들 (0) 2023.02.23 Wrapper클래스란? (0) 2023.02.22 자바 Math의 주요 메서드 (0) 2023.02.22 여러가지 StringBuffer메서드 (0) 2023.02.22