본문 바로가기
IT/자바

[자바(java)] 소수점 반올림 하기

by 모찌 2018. 8. 24.



 안녕하세요. 이번 포스팅에서는 반올림 함수 Math.round()에 대해 알아보겠습니다.


 


소수점 반올림 하기



public class Ex1 {

public static void main(String[] args) {

double num1 = 3.141592;

double num2 = 3.567891;

System.out.println("num1 반올림 : "+Math.round(num1));

System.out.println("num2 반올림 : "+Math.round(num2));

System.out.println("num1 둘째 자리까지 남기기 : "+Math.round(num1*100)/100.0);

System.out.println("num2 둘째 자리까지 남기기 : "+Math.round(num2*100)/100.0);

}


}




Math.round(변수); 를 사용하면 소수첫번째자리에서 반올림하여 결과는 정수로 나오게 됩니다.


소수 N번째 자리까지 남기고 싶다면 어떻게 해야 할까요?

여러 가지 방법이 있지만,
변수*10^n 을 Math.round(변수*10^n) 으로 적용 시킨다음 다시 10^n으로 나누면 됩니다.
이 때 주의해야 할 점! 나누기를 할때 100과 같은 정수가 아닌 100.0 으로 나누어줘야 합니다. 만약 100으로 나눈 다면 정수 나누기 정수가 되어 결과 값도 정수가 나오기 때문에 우리가 원하는 결과가 나오지 않습니다. 실수인 100.0 으로 나누어야 원하는 결과를 얻을 수 있습니다.



결과

num1 반올림 : 3

num2 반올림 : 4

num1 둘째 자리까지 남기기 : 3.14

num2 둘째 자리까지 남기기 : 3.57










댓글