Java:浮动格式取决于语言环境

2022-09-01 10:24:55

我住在比利时。一般来说,在数学中,我们用逗号写小数,如下所示:3,141592
这也是我格式化浮点数时的结果。

System.out.println(String.format("%f", 3.141592));

所以,被替换为类似: .因此,当我需要一个点时,我必须添加如下内容:.,3,141592String.format("%f", 3.14).replace(',','.');

所以,问题是:有没有办法改变语言环境,使Java中的每个格式化程序都使用一个点,而不是逗号?

谢谢


System.out.println(Locale.getDefault());

指纹

nl_BE

答案 1

尝试仅用于设置格式化期间使用的区域设置。String.format(Locale.US, "%f", floatValue)


答案 2

一个简单的解决方案是将系统区域设置设置为美国或英国,但可以广泛覆盖整个区域设置。例。

Locale.setDefault(Locale.US);

既然您已经更改了问题,那么您只需使用打印方法指定本地即可。

System.out.println(String.format(Locale.US, "%f", 3.141592));

推荐