Java で Double 値をフォーマットする

Mohammad Irfan 2023年10月12日
  1. Java で DecimalFormat クラスを使用して double 値をフォーマットする
  2. Java の format メソッドを使用して double 値をフォーマットする
  3. Java で printf メソッドを使用して double 値をフォーマットする
  4. Java で format メソッドを使用して double 値をフォーマットする
  5. Java で String.format() メソッドを使用して double 値をフォーマットする
  6. Java で DecimalFormat クラスを使用して double 値をフォーマットする
Java で Double 値をフォーマットする

このチュートリアルでは、Java で double 型の値をフォーマットする方法を紹介します。

Java で double 値をフォーマットするには、DecimalFormat クラス、printf() メソッド、format() メソッド、String.format() メソッドなど、いくつかの方法があります。例。

Java で DecimalFormat クラスを使用して double 値をフォーマットする

この例では、DecimalFormat クラスを使用して、double 型の値を指定された形式でフォーマットします。たとえば、double 値を小数点以下 3 桁にフォーマットするには、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 値をフォーマットする

これは最も単純な例の 1つであり、double 型の値をフォーマットするために print() の代わりに System クラスの format() メソッドを使用する必要があります。このメソッドは 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 桁には .2、小数点以下 3 桁には .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 アプリケーションで double 型の値をフォーマットしました。以下の例を参照してください。

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() メソッドを使用すると、もう 1つの機能でコンマ(,)などの区切り文字を使用して、double 値を数千、数百万などにフォーマットできます。以下の例を参照してください。

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() メソッドを使用して、通貨インスタンスに double 型の値を作成します。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

関連記事 - Java Double