float을 소수점 2자리까지 표시하여 출력하는 방법에 대해서 알아보겠습니다.

1. String.format()을 이용한 방법

String.format("%.nf", number) 처럼 숫자 number를 소수점 n자리까지 표시할 수 있습니다.

  • %.nf는 소수점 n자리까지 표시하며, n+1 자리에서 반올림
public class Example {

    public static void main(String[] args) {

        double number = 3.456;
        String formattedNumber = String.format("%.2f", number);
        System.out.println(formattedNumber);
    }
}

Output:

3.46

2. DecimalFormat을 이용한 방법

DecimalFormat("#.##") 처럼 소수점 n자리까지 표기할 수 있습니다. 소수점 n+1자리에서 반올림하여 소수점 n자리까지 표시됩니다.

  • format()은 문자열을 리턴
  • double roundedNumber = Double.parseDouble(df.format(number)); 처럼 double로 변환할 수 있음
import java.text.DecimalFormat;

public class Example {

    public static void main(String[] args) {

        double number = 3.456;
        DecimalFormat df = new DecimalFormat("#.##");
        String formattedNumber = df.format(number);
        System.out.println(formattedNumber);
    }
}

Output:

3.46

3. Math.round()를 이용한 방법

Math.round(n)는 숫자 n을 반올림하여 정수로 만듭니다. 예를 들어, 소수점 3자리 이상 있는 실수를 2자리까지 반올림하려면, 숫자에 100을 곱하고 round()로 반올림하고 다시 100으로 나누면 됩니다.

public class Example {

    public static void main(String[] args) {

        double number = 3.456;
        double roundedNumber = Math.round(number * 100.0) / 100.0;
        System.out.println(roundedNumber);
    }
}

Output:

3.46