带点分隔符的 Java DecimalFormat 输出

Posted

技术标签:

【中文标题】带点分隔符的 Java DecimalFormat 输出【英文标题】:Java DecimalFormat output with dot separator 【发布时间】:2016-04-30 20:45:38 【问题描述】:

我使用 Decimalformat 两个用这行代码得到两位小数

DecimalFormat df = new DecimalFormat("#0.00");

我的输出例如是这样的

568,99  
1090,33
12897,45
233567,77

如何将十进制格式设置为这样输出?

568,99  
1.090,33
12.897,45
233.567,77

Decimalformat 中的方法有没有办法做到这一点。 像这样的代码

 df.setMinimumFractionDigits(3);
 df.setMaximumFractionDigits(3);
 df.setMinimumIntegerDigits(1);

我从未扩展我对 DecimalFormat 的了解,这就是我问的原因。

    这可能与十进制格式代码有关吗?怎么样?

    有没有更好的办法?

【问题讨论】:

使用适当的语言环境。 NumberFormat.getInstance(myLocale); ***.com/questions/5054132/…***.com/questions/10584948/doubles-commas-and-dots "Is this possible to do with the decimalformat code?" -- 请阅读 DecimalFormat API,它会明确告诉您,,您应该使用 NumberFormat。如果这听起来像是 RTFM 评论,我很抱歉,但在这种情况下,它直接解决了您的问题。 感谢两位的回答。我通过链接找到了我想要的东西。 【参考方案1】:

我意识到这些点看起来不太好看。 例如看这里。

1.234.345,00

所以我用这一行改为空白空间......

DecimalFormat df = new DecimalFormat("###,###.00");

创造了这个

1 234 345,00

【讨论】:

以上是关于带点分隔符的 Java DecimalFormat 输出的主要内容,如果未能解决你的问题,请参考以下文章

java中 DecimalFormat格式的定义

java中 DecimalFormat格式的定义

DecimalFormat用法

DecimalFormat("0.0") 返回以逗号而不是点作为分隔符的数据[重复]

DecimalFormat(数字格式)

KVC - 带点分隔的键值编码 - 不符合 KVC 的异常