Java で Double 値をフォーマットする
-
Java で
DecimalFormat
クラスを使用してdouble
値をフォーマットする -
Java の
format
メソッドを使用してdouble
値をフォーマットする -
Java で
printf
メソッドを使用してdouble
値をフォーマットする -
Java で
format
メソッドを使用してdouble
値をフォーマットする -
Java で
String.format()
メソッドを使用してdouble
値をフォーマットする -
Java で
DecimalFormat
クラスを使用して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