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