Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 소수점 정밀도 다루기 – String.format() 활용법

Java에서는 String.format() 메서드를 활용해 실수(double) 값의 소수점 자릿수를 원하는 만큼 지정하여 출력할 수 있습니다. 형식 지정자인 %f 앞에 마침표(.)와 숫자를 붙이면, 해당 숫자만큼의 소수점 이하 자릿수가 표시됩니다.

예제 코드

import java.io.*;
import java.lang.*;
public class Demo{
    public static void main(String[] args){
        double my_val = 34.909;
        System.out.println("34.909의 포맷된 값은 다음과 같습니다");
        System.out.println(String.format("%.7f", my_val));
        double my_val_2 = 12.56;
        System.out.println("12.56의 포맷된 값은 다음과 같습니다");
        System.out.println(String.format("%.9f", my_val_2));
    }
}

실행 결과

34.909의 포맷된 값은 다음과 같습니다
34.9090000
12.56의 포맷된 값은 다음과 같습니다
12.560000000

코드 설명

위 코드에서 Demo라는 클래스가 선언되어 있으며, 그 안에 프로그램 실행의 시작점인 main() 함수가 정의되어 있습니다.

먼저 double 타입의 변수 my_val에 34.909라는 실숫값을 저장한 뒤, String.format("%.7f", ...)을 사용해 소수점 아래 일곱 번째 자리까지 출력하도록 형식을 지정했습니다. 그 결과 원래 값 뒤에 0이 채워져 34.9090000으로 표시됩니다.

같은 방식으로 두 번째 double 변수 my_val_2에는 12.56을 저장하고, %.9f 형식 지정자를 통해 소수점 아홉 번째 자리까지 확장하여 화면에 출력합니다. 이 경우에도 부족한 자릿수는 0으로 채워져 12.560000000이 됩니다.

이처럼 Java에서는 형식 지정자의 숫자를 조절하는 것만으로도 간단하게 원하는 정밀도의 값을 얻을 수 있으며, 금융 계산이나 과학 데이터 처리처럼 소수점 자릿수가 중요한 상황에서 유용하게 활용됩니다.