JAVA/이론

[JAVA] Math.ceil() / Math.floor() / Math.round() (올림/내림/반올림)

sirius 2021. 2. 8. 13:31
public class Main {

	public static void main(String[] args) {
        double number = 2.56789;

        System.out.println("올림 : " + Math.ceil(number));  // 3.0
        System.out.println("내림 : " + Math.floor(number));  // 2.0
        System.out.println("반올림 : " + Math.round(number));	// 3
        System.out.println("소수점 아래 둘째 자리에서 반올림 : " + Math.round(number*10)/10.0); // 2.6
        System.out.println("소수점 아래 셋째 자리에서 반올림 : " + Math.round(number*100)/100.0);  // 2.57

	}

}

 

String.format()으로도 가능
Math.round()는 소수점아래가 0일경우 절삭하지만, String.format()은 절삭하지 않고 명시한 자릿수 그대로 리턴

 

public class Main {

    public static void main(String[] args) {

        double num = 1000;    
        System.out.println(Math.round(num*1000)/1000.0); // 1000.0
        System.out.println(String.format("%.3f", num));  // 1000.000
    }

}