728x90
반응형
자바로 문제를 풀다보면 소수점 몇째 자리까지 출력하라는 조건이 종종 나오곤 한다.
double형의 두 수인 5.0과 3.0을 나눈 값을 출력하면 우측처럼 1.6666666666666667로 출력 가장 끝부분 다음 자리에서 반올림한 값이 나온다.
이 때, 소수점 세 번째 자리까지만 출력하고싶다면 어떻게 해야할까?
첫 번째. System.out.printf() 사용
단순히 println()을 사용하지 말고 printf() 메소드에서 첫 번째 인자로 몇 번째 자리까지 출력할지 정해주고 출력하는 방법이다.
이 방법은 가장 단순하지만 리턴값이 나오지 않는다.
두 번째. String.format() 사용
자바에서 문자열을 다루는 String 클래스는 매우 다양하게 사용될 때가 있는데 이 때가 그 중 하나이다.
String클래스의 resultS를 만들고 여기에 String.format("%.3f", result);한 String 리턴값을 저장해 그것을 출력하는 방법이다.
몇자리까지 출력할지는 %.3부분을 수정하고, 어떤 값을 수정할지는 result부분을 수정하면 된다.
세 번째. Math.round() 사용
Math.round() 메소드를 사용하면 소숫점 첫째 자리에서 반올림 해버린다. (출력 첫번째 줄)
그래서 소숫점 세 자리를 얻기 위해 1000을 곱해 정수부분을 네 자리로 만들고 (출력 두번째 줄)
그 결과를 1000.0으로 나누면 원하는 소숫점 세자리만 담을 수 있다. (출력 마지막 줄)
1000으로 나누면 1000은 int형이라서 소수점 아래가 0이 되어버리니 주의해야한다.
728x90
반응형
'Study > Java' 카테고리의 다른 글
Java Currency getDefaultFractionDigits() Method (0) | 2024.08.11 |
---|---|
[JAVA] json String to List map (0) | 2024.08.11 |
JAVA HttpURLConnection 활용한 API 호출하기(GET, POST, DELETE) (0) | 2024.08.10 |
JAVA AES 암호화 /복호화 예제 (AES-256) (0) | 2024.08.09 |
Java에서 System.getProperty() 사용법 / 현재 디렉토리 알기 / user home 디렉토리 알기 (0) | 2024.02.06 |
댓글