JAVA

[JAVA] 소수점 특정 자릿수까지 표현하기

hail2y 2025. 1. 2. 16:33

1. Math.round()

Math.round()는 실수를 정수로 반환해 주는 메서드다. 쉽게 말해 반올림을 해 준다고 볼 수 있는데 이 메서드로 실수를 특정 자릿수까지의 수로 표현해 줄 수 있다. 예를 들어 100.3564를 소수점 둘째 자릿수까지 표현해 100.36로 반환하도록 말이다. round()는 아래 공식 문서대로 int나 long 타입의 정수형을 반환하기 때문에 변형해 주어야 한다. 둘째 자릿수까지 원한다면 100을 곱하고 100.0으로 나누어 준다. 즉 소수점 수대로 곱해주고 나누어 주면 된다.   

https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#round-double-

 

https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#round-double-

 

System.out.println(Math.round(100.3564 * 100) / 100.0); // 100.36
System.out.println(Math.round(100.3564 * 1000) / 1000.0); // 100.356

 

2. String.format() 

이건 코드로 보는 게 더 빠를 것 같다. 코드를 보면 알겠지만 printf()로 사용하던 것과 별 차이가 없다. 다만 String 클래스를 앞에 명시한 것처럼 반환 타입이 String으로 나온다. 따라서 변수에 저장해야 할 때는 적절한 형변환이 필요하다.  

System.out.println(String.format("%.2f", 100.3564)); // 100.36
System.out.println(String.format("%.3f", 100.3564)); // 100.356

https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-

 

 

 

https://velog.io/@akwnsldj1/Java-%EC%9E%90%EB%B0%94-%EC%86%8C%EC%88%98%EC%A0%90-%EB%B0%98%EC%98%AC%EB%A6%BC

 

(Java) 자바 소수점 반올림 Math.round(), String.format()

사용방법 :Math.round(값);메소드 사용시 값을 소수점 첫째 자리 까지 반올림 해준다.출력결과사용방법 :String.format("%.nf", num);n에 원하는 소수점 자리를 넣으면 된다.출력결과

velog.io