Java 使用德语语言环境格式化双精度值
Java format double value with german locale
我有双精度值 1400.0,现在我想在 Java 中将此值格式化为 1.400,00。
目前我这样做:
double doubleValue = 1400.0
String pattern = "0.00";
DecimalFormat format = (DecimalFormat)NumberFormat.getNumberInstance(Locale.GERMAN)
format .applyPattern(pattern);
// will be 1400,00 and not 1.400,00
String formattedValue = format.format(doubleValue);
我错过了什么?
尝试:
String pattern = "#,##0.00";
此模式告诉 DecimalFormat 将分组字符添加到给定数字。
编辑:最初我是用零写的,但这实际上会为小数字创建额外的零。在不需要初始零的地方使用 #
模式。
您可以尝试这样的操作:
class MyClass {
public static void main(String[] args) {
double doubleValue = 74637.96;
Locale locale = Locale.GERMAN;
String string = NumberFormat.getNumberInstance(locale).format(doubleValue);
System.out.println(string);
}
}
输出将是:
74.637,96
GermanFormat
我有双精度值 1400.0,现在我想在 Java 中将此值格式化为 1.400,00。
目前我这样做:
double doubleValue = 1400.0
String pattern = "0.00";
DecimalFormat format = (DecimalFormat)NumberFormat.getNumberInstance(Locale.GERMAN)
format .applyPattern(pattern);
// will be 1400,00 and not 1.400,00
String formattedValue = format.format(doubleValue);
我错过了什么?
尝试:
String pattern = "#,##0.00";
此模式告诉 DecimalFormat 将分组字符添加到给定数字。
编辑:最初我是用零写的,但这实际上会为小数字创建额外的零。在不需要初始零的地方使用 #
模式。
您可以尝试这样的操作:
class MyClass {
public static void main(String[] args) {
double doubleValue = 74637.96;
Locale locale = Locale.GERMAN;
String string = NumberFormat.getNumberInstance(locale).format(doubleValue);
System.out.println(string);
}
}
输出将是: 74.637,96
GermanFormat