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

  1. Java の printf() メソッドを用いて小数点以下 2 桁の浮動小数点を出力する
  2. Java の DecimalFormat クラスを使って 2 桁の小数点以下の桁数を持つフロートを出力する
  3. Java の format() メソッドを用いた 2 桁の小数点以下の位置に浮動小数点数を出力する
  4. Java の DecimalFormat クラスを使って 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
comments powered by Disqus