[Java] double, float을 println으로 찍게 되면

2025. 1. 22. 09:21Java

값이 작으면 그대로 출력이 되지만

값이 커지면 지수표기법이 사용된다.

예를 들어, 다음과 같다.

39999999999.5 => 3.99999999995E10

이를 지수표기법을 사용하지 않고 찍고 싶다면 다음의 경우들로 가능하다.

아래 경우 모두 다 마지막 자리에 맞춰 반올림을 해준다.

1. System.out.printf

System.out.println("printf");
System.out.printf("%.1f%n", area);

2. DecimalFormat

import java.text.DecimalFormat;

System.out.println("DecimalFormat");
DecimalFormat df = new DecimalFormat("#.#");
System.out.println(df.format(area));

3. String.format

System.out.println("String.format");
System.out.println(String.format("%.1f", area));

 

아래는 println과 위의 경우들로 출력을 했을때의 결과이다.

println
3.99999999995E10
printf
39999999999.5
DecimalFormat
39999999999.5
String.format
39999999999.5