DecimalFormat("0.0") returns 以逗号而不是点作为分隔符的数据
DecimalFormat("0.0") returns data with a comma as separator instead of a point
import java.text.DecimalFormat;
public class FormatTest {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("0.0");
System.out.println(df.format(10.4)); // prints 10,4 instead of 10.4
System.out.println(df.format(100.5)); // prints 100,5 instead of 100.5
System.out.println(df.format(3000.3));// prints 3000,3 instead of 3000.3
}
}
我上面的代码的输出在下面用逗号作为小数点分隔符,而通常它应该是一个点。我将 NetBeans 12.5 与 Maven 一起使用。
似乎 Java 使用了我本地的小数点分隔符而不是点。另外,我需要强制点 (".") 作为唯一的分隔符。
--- exec-maven-plugin:3.0.0:exec (default-cli) @ FormatTest ---
10,4
100,5
3000,3
您可以像这样更改小数格式 post
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
DecimalFormat df = (DecimalFormat)nf;
您可以(并且您实际上需要避免本地化)主动配置 DecimalFormat
更详细如下:
public class Main {
public static void main(String[] args) throws Exception {
DecimalFormat df = new DecimalFormat("0.0");
DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols();
decimalFormatSymbols.setDecimalSeparator('.');
df.setDecimalFormatSymbols(decimalFormatSymbols);
System.out.println(df.format(10.4)); // prints 10,4 instead of 10.4
System.out.println(df.format(100.5)); // prints 100,5 instead of 100.5
System.out.println(df.format(3000.3));// prints 3000,3 instead of 3000.3
}
}
您可以在 reference documentation 中阅读更多详细信息,其中可以阅读重要的片段:
Special Pattern Characters
(...)
The characters listed here are used
in non-localized patterns. Localized patterns use the corresponding
characters taken from this formatter's DecimalFormatSymbols object
instead, and these characters lose their special status.
import java.text.DecimalFormat;
public class FormatTest {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("0.0");
System.out.println(df.format(10.4)); // prints 10,4 instead of 10.4
System.out.println(df.format(100.5)); // prints 100,5 instead of 100.5
System.out.println(df.format(3000.3));// prints 3000,3 instead of 3000.3
}
}
我上面的代码的输出在下面用逗号作为小数点分隔符,而通常它应该是一个点。我将 NetBeans 12.5 与 Maven 一起使用。
似乎 Java 使用了我本地的小数点分隔符而不是点。另外,我需要强制点 (".") 作为唯一的分隔符。
--- exec-maven-plugin:3.0.0:exec (default-cli) @ FormatTest ---
10,4
100,5
3000,3
您可以像这样更改小数格式 post
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
DecimalFormat df = (DecimalFormat)nf;
您可以(并且您实际上需要避免本地化)主动配置 DecimalFormat
更详细如下:
public class Main {
public static void main(String[] args) throws Exception {
DecimalFormat df = new DecimalFormat("0.0");
DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols();
decimalFormatSymbols.setDecimalSeparator('.');
df.setDecimalFormatSymbols(decimalFormatSymbols);
System.out.println(df.format(10.4)); // prints 10,4 instead of 10.4
System.out.println(df.format(100.5)); // prints 100,5 instead of 100.5
System.out.println(df.format(3000.3));// prints 3000,3 instead of 3000.3
}
}
您可以在 reference documentation 中阅读更多详细信息,其中可以阅读重要的片段:
Special Pattern Characters
(...)
The characters listed here are used in non-localized patterns. Localized patterns use the corresponding characters taken from this formatter's DecimalFormatSymbols object instead, and these characters lose their special status.