Java/Simple code

Java 숫자 반올림, 올림, 내림(Math)+ 소수점 n번째 자리에서 반올림

검은고양이개발자 2023. 1. 23. 14:31
반응형
public class CordJgMathEx {
    public static void main(String[] args) {

        double num = 10.19;
        double half = Math.round(num);
        double up = Math.ceil(num);
        double down = Math.floor(num);

        double[] arr = {half, up, down};

        for(int i=0; i<arr.length; i++){
            System.out.println(arr[i]);
        }
    }
}
//출력
10.0
11.0
10.0

Math.round = 소수점 첫째 자리에서 반올림
Math.ceil = 올림
Math.floor = 내림

Math.round 는 소수점 첫째 자리에서 반올림을 합니다.
그렇다면 소수점 첫자리까지 표현을 하고 싶다면 어떻게 해야 할까요?
위의 코드에서 num 은 10.19를 나타내고 있습니다.
Math.round(num)을 통해 소수점 첫째 자리에서 반올림이 되어
Math.round(num)을 나타내는 half 값이 10.0으로 표현됩니다.

그렇다면 num에 10을 곱해서 Math.round를 하면 어떻게 될까요
Math.round(101.9) => 102.0
그리고 이 값을 10.0으로 나누게 되면 10.2가 되어 원하던 소수점 첫째짜리까지의 값을 얻을 수 있습니다.

        half = (Math.round(num*10)/10.0);
        System.out.println(half);
        half = (Math.round(num*100)/100.0);
        System.out.println(half);
//출력
10.2
10.19

만약 원하는 게 소수점 첫째자리가 아닌 둘째 자리라면 10이 아닌 100을 곱한 뒤 100.0으로 나눠주시면 됩니다.


반응형