gpt4 book ai didi

java - 带语言环境的 DecimalFormatSymbols

转载 作者:搜寻专家 更新时间:2023-10-30 21:34:56 26 4
gpt4 key购买 nike

对于下面的代码,当我这样运行它和在 Tomcat 网络应用程序中运行它时,我得到了不同的结果。

public static void main(String[] args)
{
System.out.println(System.getProperty("user.language"));
System.out.println(System.getProperty("user.country"));
System.out.println(Locale.getDefault(Category.DISPLAY));
System.out.println(Locale.getDefault(Category.FORMAT));

Locale l = new Locale("de", "DE");
System.out.println(l.getDisplayLanguage());
DecimalFormatSymbols dfs = new DecimalFormatSymbols(l);
System.out.println(dfs.getDecimalSeparator());

l = new Locale.Builder().setLanguage("de").setRegion("DE").build();
System.out.println(l.getDisplayLanguage());
dfs = new DecimalFormatSymbols(l);
System.out.println(dfs.getDecimalSeparator());
}

独立结果(预期):

en
US
en_US
en_US
German
,
German
,

在 Tomcat 中:

en
US
en_US
en_US
German
.
German
.

有人可以建议还有什么影响 DecimalFormatSymbols(和 NumberFormat 就此而言)它不使用提供的语言环境。我正在使用语言级别为 1.7 的 JDK 1.8。

编辑:只有当 Tomcat 在 Eclipse 中运行时才会发生这种情况。 Eclipse/OSGi 似乎会干扰基于语言环境的格式化,但仅在特定情况下。

最佳答案

Tomcat 我们的 ENV 设置可能有问题我从帖子 here 看到了它.

尝试按照上面帖子中的建议启动 tomcat,并将以下参数设置为批处理文件:

-Duser.timezone=Europe/Berlin
-Duser.country=DE
-Duser.language=de

关于java - 带语言环境的 DecimalFormatSymbols,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24780733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com