Java で小数点以下 2 桁のフロートを出力する方法

Mohammad Irfan 2023年10月12日
  1. Java の printf() メソッドを用いて小数点以下 2 桁の浮動小数点を出力する
  2. Java の DecimalFormat クラスを使って 2 桁の小数点以下の桁数を持つフロートを出力する
  3. Java の format() メソッドを用いた 2 桁の小数点以下の位置に浮動小数点数を出力する
  4. Java の DecimalFormat クラスを使って 2 桁の小数点以下の桁数を持つフロートを出力する
Java で小数点以下 2 桁のフロートを出力する方法

このチュートリアルでは、小数点以下 2 桁の浮動小数点数を持つ値を取得する方法と、このトピックを理解するためのコード例を紹介します。小数点以下 2 桁の浮動小数点以下の値を得るには、printf() メソッド、DecimalFormat クラス、String クラスの format() メソッドなどを使用する方法があります。例をよく見てみましょう。

Java の printf() メソッドを用いて小数点以下 2 桁の浮動小数点を出力する

printf() はフォーマットされた出力をコンソールに出力するためのメソッドです。C 言語の printf() に似ています。ここでは出力する桁数の上限を指定することができます。"%.2f" は小数点以下 2 桁であることを指定します。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String args[]) {
    float Pi = 3.1415f;
    System.out.println(Pi);
    // Get only 2 decimal points
    System.out.printf("%.2f", Pi);
  }
}

出力:

3.1415
3.14

Java の DecimalFormat クラスを使って 2 桁の小数点以下の桁数を持つフロートを出力する

DecimalFormat は、Java で 10 進数の値をフォーマットするためのユーティリティーメソッドを提供する Java クラスです。ここでは、setMaximumFractionDigits() メソッドを用いて 10 進数の上限を設定し、format() メソッドを用いてフォーマットされた出力を取得します。

import java.text.DecimalFormat;

public class SimpleTesting {
  public static void main(String args[]) {
    float Pi = 3.1415f;
    System.out.println(Pi);
    DecimalFormat frmt = new DecimalFormat();
    frmt.setMaximumFractionDigits(2);
    // Get only 2 decimal points
    System.out.println(frmt.format(Pi));
  }
}

出力:

3.1415
3.14

Java の format() メソッドを用いた 2 桁の小数点以下の位置に浮動小数点数を出力する

Java の String クラスにはフォーマットされた出力を取得するためのメソッド format() がありますが、これは float の値ではなく String オブジェクトを返します。そのため、最終的な出力を float で取得するには文字列から float に変換する必要があります。以下の例を参照してください。

public class SimpleTesting {
  public static void main(String args[]) {
    float Pi = 3.1415f;
    System.out.println(Pi);
    // Get only 2 decimal points
    String str = String.format("%.02f", Pi);
    Pi = Float.valueOf(str);
    System.out.println(Pi);
  }
}

出力:

3.1415
3.14

Java の DecimalFormat クラスを使って 2 桁の小数点以下の桁数を持つフロートを出力する

小数点以下の桁数を指定するには DecimalFormat クラスのコンストラクタを利用することができます。ここではコンストラクタ内で # char を用い、format() メソッドを用いてフォーマットされた出力を取得しています。

import java.text.DecimalFormat;

public class SimpleTesting {
  public static void main(String args[]) {
    float Pi = 3.1415f;
    System.out.println(Pi);
    DecimalFormat frmt = new DecimalFormat("#.##");
    // Get only 2 decimal points
    System.out.println(frmt.format(Pi));
  }
}

出力:

3.1415
3.14

関連記事 - Java Float