java - 为什么 DecimalFormat 显示 ▯ 而不是逗号?

标签 java plugins format minecraft

我正在为 Minecraft 服务器开发一个插件,并希望使用 DecimalFormat 来获得良好的显示效果。

但是,使用以下代码:

DecimalFormat df = new DecimalFormat("#,###,###,###.##");
p.sendMessage(df.format(amount));

它显示这样的内容:10▯450.23 而不是 10,450.23

为什么?如果您有任何想法,请不要犹豫。

最佳答案

DecimalFormat 有 Locale-sensitive formatting .

您启动 Minecraft 服务器的系统可能位于不同的区域设置。

如果您想获取不同区域设置(例如标准英语区域设置)的 DecimalFormat,请按如下操作:

NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
DecimalFormat df = (DecimalFormat) nf;
df.applyPattern("#,###,###,###.##");
p.sendMessage(df.format(amount));

您还可以更改 JVM 实例的区域设置,这样您就不必每次都将区域设置更改为英语:

Locale.setDefault(Locale.ENGLISH);

不过要小心。

关于java - 为什么 DecimalFormat 显示 ▯ 而不是逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61235140/

相关文章:

IOS Safari 支持插件吗?

format - 有没有办法将 Octave 中的输出格式设置为给定数量的有效数字?

c# - 没有小数点的 double 格式

file - 新的音频文件格式

java - 如何使用java将 "ACL"设置为google存储文件夹下的所有文件

Java Swing : how do I define how a JTree displays the "user object"?

grails - 在 liferay 6 上部署 grails portlet 时出错

java - 如何为 Eclipse 编写代码模板?

java - getTeamMapping 是否应该从 Spring-Data-JPA 方法获取数据?

wordpress - WordPress音频插件:如果浏览器不支持Flash,则显示mp3链接