在 DecimalFormat 处将点更改为逗号

Posted

技术标签:

【中文标题】在 DecimalFormat 处将点更改为逗号【英文标题】:Change dot to comma at DecimalFormat 【发布时间】:2014-11-26 04:18:57 【问题描述】:

当我使用这个格式化程序时:

java.text.DecimalFormat("#.000");

对于 1234567/1000000.0

输出是:

1.235

我想要这样:

1,235

并尝试过:

java.text.DecimalFormat("#,000");

但它不能作为例外工作。如何根据我的情况将点改为逗号?

【问题讨论】:

看这里***.com/questions/10584948/doubles-commas-and-dots 【参考方案1】:

您需要使用DecimalFormatSymbols的实例设置格式符号:

public void testDec() 
    DecimalFormat df = new DecimalFormat("#.000");
    DecimalFormatSymbols sym = DecimalFormatSymbols.getInstance();
    sym.setDecimalSeparator(',');
    df.setDecimalFormatSymbols(sym);
    System.out.println(df.format(1234567/1000000.0));

输出是

1,235

【讨论】:

【参考方案2】:

您可以将. 替换为,

DecimalFormat decimalFormat=new DecimalFormat("#.000");
double d=1234567/1000000.0;
System.out.println(decimalFormat.format(d).replace(".",","));

输出:

1,235

【讨论】:

【参考方案3】:

您想用“,”显示十进制数字有什么特别的原因吗?

否则

Double answer = 1234567/1000000.0;
DecimalFormat formatter = new DecimalFormat("#,###");
System.out.println(formatter.format(answer*1000));

【讨论】:

【参考方案4】:

希望下面的代码有所帮助

public void decimalExample() 
    DecimalFormat df = new DecimalFormat("#.000");
    DecimalFormatSymbols sym = DecimalFormatSymbols.getInstance();
    sym.setDecimalSeparator(',');
    df.setDecimalFormatSymbols(sym);
    System.out.println(df.format(138947293/1000000.0));

【讨论】:

以上是关于在 DecimalFormat 处将点更改为逗号的主要内容,如果未能解决你的问题,请参考以下文章

将点更改为 UIPageViewController 的图像

如何在excel中将句点符号从点更改为逗号

将 GST 编号字段的小数分隔符更改为逗号

尝试在给定阈值处将所有像素更改为黑白

如何在 iOS 7 中将 UINavigationBar 高度的高度从 64 点更改为 44 点?

将点替换为逗号 jQuery(新手)