首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将DecimalFormat的小数点分隔符从逗号改为点/点?

如何将DecimalFormat的小数点分隔符从逗号改为点/点?
EN

Stack Overflow用户
提问于 2011-02-20 07:11:24
回答 7查看 293.1K关注 0票数 216

我有一个疯狂的小方法,可以将BigDecimal值转换成漂亮的、可读的字符串。

代码语言:javascript
复制
private String formatBigDecimal(BigDecimal bd){
    DecimalFormat df = new DecimalFormat();
    df.setMinimumFractionDigits(3);
    df.setMaximumFractionDigits(3);
    df.setMinimumIntegerDigits(1);
    df.setMaximumIntegerDigits(3);
    df.setGroupingSize(20);
    return df.format(bd);
}

然而,它也产生了一个所谓的分组分隔符",",它使我所有的值如下所示:

代码语言:javascript
复制
xxx,xxx

我确实需要分隔符是点或点,而不是逗号。有谁知道如何完成这个小小的壮举吗?

我现在已经读过this,特别是this to death,但我找不到一种方法来完成这项工作。我是不是走错了路?有没有更优雅的方式来做这件事呢?也许甚至会有一种解决方案来说明不同的本地数字表示,因为逗号按照欧洲的标准是完美的。

EN

回答 7

Stack Overflow用户

发布于 2011-02-20 07:33:16

欧洲是相当大的。我不确定它们是否全部使用相同的格式。不过,thisthis answer将会有所帮助。

代码语言:javascript
复制
String text = "1,234567";
NumberFormat nf_in = NumberFormat.getNumberInstance(Locale.GERMANY);
double val = nf_in.parse(text).doubleValue();

NumberFormat nf_out = NumberFormat.getNumberInstance(Locale.UK);
nf_out.setMaximumFractionDigits(3);
String output = nf_out.format(val);

即使用正确的区域设置。

票数 15
EN

Stack Overflow用户

发布于 2011-10-15 22:28:48

代码语言:javascript
复制
public String getGermanCurrencyFormat(double value) {
    NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
    nf.setGroupingUsed(true);
    return "€ " + nf.format(value);
}
票数 10
EN

Stack Overflow用户

发布于 2012-03-26 23:18:47

BigDecimal似乎并不尊重区域设置。

代码语言:javascript
复制
Locale.getDefault(); //returns sl_SI

斯洛文尼亚语区域设置应包含十进制逗号。我想我对数字有一些奇怪的误解。

代码语言:javascript
复制
a = new BigDecimal("1,2") //throws exception
a = new BigDecimal("1.2") //is ok

a.toPlainString() // returns "1.2" always

我编辑了我的消息中没有意义的一部分,因为它被证明是由于人为错误(忘记提交数据和查看错误的东西)。

对于任何Java .toString()函数,都可以说与BigDecimal相同。我想这在某些方面是好的。例如序列化或调试。有一个唯一的字符串表示。

同样,正如其他人提到的,使用格式化程序工作正常。只需使用格式化程序,对于JSF前端也是如此,格式化程序可以正确地完成工作,并且能够识别区域设置。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5054132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档