HOWTO · Java

Java에서 이중 값 형식 지정

이 게시물은 Java에서 double 값을 형식화하는 방법을 소개합니다.

이 페이지의 내용

이 튜토리얼에서는 Java에서 double 유형 값을 형식화하는 방법을 소개합니다.

DecimalFormat클래스,printf()메소드,format()메소드,String.format()메소드 등과 같이 Java에서 double 값을 형식화하는 방법에는 여러 가지가 있습니다.

Java에서DecimalFormat클래스를 사용하여double값 형식 지정

이 예제에서는DecimalFormat클래스를 사용하여 지정된 형식으로 double 유형 값을 형식화합니다. 예를 들어, 소수점 이하 세 자리까지 double 값을 포맷하려면format()메소드를 사용하고DecimalFormat생성자의 포맷 스타일을 전달합니다. 아래 예를 참조하십시오.

import java.text.DecimalFormat;
import java.text.NumberFormat;
public class SimpleTesting {
  public static void main(String[] args) {
    double dVal = 20.23;
    System.out.println("Double Value: " + dVal);
    String format = "0.000";
    NumberFormat formatter = new DecimalFormat(format);
    String newDVal = formatter.format(dVal);
    System.out.println("Value After Formatting: " + newDVal);
  }
}

출력:

String value: 123
Float value: 123.0

Java에서format메소드를 사용하여double값 형식 지정

이것은 가장 간단한 예제 중 하나입니다. 여기서print()대신System클래스의format()메소드를 사용하여 double 유형 값을 형식화해야합니다. 이 메소드는printf()메소드의 역할을하며 형식화 된 출력을 콘솔에 인쇄합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    double dVal = 20.23;
    System.out.println("Double Value: " + dVal);
    System.out.format("Value after Formatting: %.3f", dVal);
  }
}

출력:

Double Value: 20.23
Value after Formatting: 20.230

Java에서printf메소드를 사용하여double값 형식 지정

Java는 형식화 된 출력을 콘솔에 인쇄하는 데 사용할 수있는 System 클래스의printf()메소드를 제공합니다. 소수점 두 자리에.2를 사용하고 소수점 세 자리에.3을 사용합니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    double dVal = 20.23;
    System.out.println("Double Value: " + dVal);
    System.out.printf("Value after Formatting: %.2f", dVal);
    System.out.printf("\nValue after Formatting: %.3f", dVal);
  }
}

출력:

Double Value: 20.23
Value after Formatting: 20.23
Value after Formatting: 20.230

Java에서format메소드를 사용하여double값 형식 지정

String클래스에는 Java에서 형식화 된String을 가져 오는 데 사용되는format()메소드가 포함되어 있습니다. Java 애플리케이션에서 이중 유형 값을 형식화하기 위해 이러한 메소드를 사용했습니다. 아래 예를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    double dVal = 20.23;
    System.out.println("Double Value: " + dVal);
    String val1 = String.format("%.2f", dVal);
    String val2 = String.format("%.3f", dVal);
    System.out.println("Value after Formatting: " + val1);
    System.out.println("Value after Formatting: " + val2);
  }
}

출력:

Double Value: 20.23
Value after Formatting: 20.23
Value after Formatting: 20.230

Java에서String.format()메소드를 사용하여double값 형식 지정

String.format()메소드를 사용하면 쉼표 (,)와 같은 구분 기호를 사용하여 이중 값을 수천, 백만 등으로 형식화 할 수있는 기능이 하나 더 있습니다. 아래 예제를 참조하십시오.

public class SimpleTesting {
  public static void main(String[] args) {
    double dVal = 2000.23;
    System.out.println("Double Value: " + dVal);
    String val1 = String.format("$%,.2f", dVal);
    String val2 = String.format("$%,.3f", dVal);
    System.out.println("Value after Formatting: " + val1);
    System.out.println("Value after Formatting: " + val2);
  }
}

출력:

Double Value: 2000.23
Value after Formatting: $2,000.23
Value after Formatting: $2,000.230

Java에서DecimalFormat클래스를 사용하여double값 형식 지정

NumberFormat클래스의DecimalFormat클래스와getCurrencyInstance()메소드를 사용하여 통화 인스턴스에 대한 이중 유형 값을 생성합니다. setMinimumFractionDigits()메소드를 사용하여 double 유형 값에서 소수점 뒤의 자릿수를 지정합니다. 아래 예를 참조하십시오.

import java.text.DecimalFormat;
import java.text.NumberFormat;
public class SimpleTesting {
  public static void main(String[] args) {
    double dVal = 2000.23;
    System.out.println("Double Value: " + dVal);
    DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getCurrencyInstance();
    decimalFormat.setMinimumFractionDigits(2);
    String val1 = decimalFormat.format(dVal);
    System.out.println("Value after Formatting: " + val1);
    decimalFormat.setMinimumFractionDigits(3);
    String val2 = decimalFormat.format(dVal);
    System.out.println("Value after Formatting: " + val2);
  }
}

출력:

Double Value: 2000.23
Value after Formatting: $2,000.23
Value after Formatting: $2,000.230