Java에서 소수점을 반올림하고,  고정 소수점을 0으로 표기하는 방법은 DecimalFormat 클래스를 사용하는 것이 일반적입니다

"0.000" 패턴을 사용하여 소수점 이하 3자리까지 표시하고, 네 번째 자리에서 반올림합니다.

  • DecimalFormat 클래스를 사용하여 숫자의 형식을 지정합니다.
  • "0.000" 패턴은 소수점 이하 3자리까지 표시하되, 값이 없을 경우 0으로 채웁니다.
  • 네 번째 자리에서 반올림이 자동으로 수행됩니다.
import java.text.DecimalFormat;

public class RoundExample {
    public static void main(String[] args) {
        double number = 123.456789;
        
        // DecimalFormat 인스턴스를 생성하고 형식을 지정합니다.
        DecimalFormat df = new DecimalFormat("0.000");
        
        // 형식에 맞게 숫자를 문자열로 포맷합니다.
        String formattedNumber = df.format(number);
        
        // 결과 출력
        System.out.println(formattedNumber); // 123.457
    }
}

 

위 예제를 실행하면 123.456789가 123.457로 반올림되어 출력됩니다.

 

반환 받을 타입이 float 인 경우

1. DecimalFormat과 Float 변환 사용 예제

import java.text.DecimalFormat;

public class RoundExample {
    public static void main(String[] args) {
        double number = 123.456789;
        
        // DecimalFormat 인스턴스를 생성하고 형식을 지정합니다.
        DecimalFormat df = new DecimalFormat("0.000");
        
        // 형식에 맞게 숫자를 문자열로 포맷합니다.
        String formattedNumber = df.format(number);
        
        // 문자열을 float 타입으로 변환합니다.
        float result = Float.parseFloat(formattedNumber);
        
        // 결과 출력
        System.out.println(result); // 123.457
    }
}

 

2. BigDecimal 사용 예제

import java.math.BigDecimal;
import java.math.RoundingMode;

public class RoundExample {
    public static void main(String[] args) {
        double number = 123.456789;

        // BigDecimal을 사용하여 반올림하고 소수점 3자리까지 표시합니다.
        BigDecimal bd = new BigDecimal(number).setScale(3, RoundingMode.HALF_UP);

        // float 타입으로 변환합니다.
        float result = bd.floatValue();

        // 결과 출력
        System.out.println(result); // 123.457
    }
}
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기