首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java DecimalFormat

Java DecimalFormat
EN

Stack Overflow用户
提问于 2014-02-24 18:20:53
回答 5查看 2K关注 0票数 0
代码语言:javascript
复制
 DecimalFormat df2 = new DecimalFormat("#.##");
double zipf = 0.23951367781155017; 
String zipt = df2.format(zipf);
System.out.println(zipt);

我得到了"0,24“

这方面的问题是,我想把它作为双倍使用。但是Double.valueOf();方法由于字符串输出中存在逗号而失败。有办法解决这个问题吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-24 18:30:47

对于小数点,您应该创建一个英文区域设置的实例,如下所示:

代码语言:javascript
复制
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
String zipt = nf.format(zipf);
System.out.println(zipt);

我还建议将舍入设置为HALF_UP,因为默认舍入不是我们大多数人所期望的:EVEN

代码语言:javascript
复制
nf.setRoundingMode(RoundingMode.HALF_UP);
票数 1
EN

Stack Overflow用户

发布于 2014-02-24 18:29:05

使用不同的locale.German有点

代码语言:javascript
复制
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
DecimalFormat df = (DecimalFormat)nf;

另一种方法是使用字符串,然后将字符串修改为您的needs.After,该字符串解析为double.All done :)

票数 0
EN

Stack Overflow用户

发布于 2014-02-24 18:32:22

您的问题是JVM正在使用的本地,请尝试在当前本地进行更改。

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

https://stackoverflow.com/questions/21995817

复制
相关文章

相似问题

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