Java 中格式化雙精度值
-
在 Java 中使用
DecimalFormat
類格式化Double
值 -
在 Java 中使用
format
方法將Double
值格式化 -
在 Java 中使用
printf
方法格式化Double
值 -
在 Java 中使用
format
方法對double
值進行格式化 -
在 Java 中使用
String.format()
方法格式化double
值 -
在 Java 中使用
DecimalFormat
類格式化double
值
本教程介紹瞭如何在 Java 中格式化雙精度型別值。
Java 中有多種格式化雙精度值的方法,例如 DecimalFormat
類,printf()
方法,format()
方法,String.format()
方法等。讓我們仔細看一下例子。
在 Java 中使用 DecimalFormat
類格式化 Double
值
在此示例中,我們使用 DecimalFormat
類將指定型別的雙精度型別值格式化。例如,要將雙精度值格式化為小數點後三個位,我們使用 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
值格式化
這是最簡單的示例之一,在這裡我們需要使用 System
類的 format()
方法而不是 print()
來格式化 double 型別值。此方法用作 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
用作兩個小數點,並將 .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()
方法允許再有一項功能使用分隔符(例如,逗號(,
))來將 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()
方法為貨幣例項建立雙精度型值。我們使用 setMinimumFractionDigits()
方法指定雙精度型別值中小數點後的位數。請參見下面的示例。
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