【发布时间】:2014-09-23 22:10:29
【问题描述】:
我要将双精度值转换为字符串。
double d=12345678.999;
String str = String.valueOf(d);
或者,简单的
String str = ""+d;
是不是,但是以指数形式——返回字符串值:
1.2345678999E7
我需要字符串中的值:
12345678.999
有没有办法做到这一点?我可以将字符串解析为指数的值——“E”之后的部分并从那里开始,但必须有一种更简单的方法。
//============================
编辑:
输入中小数部分的长度未知,可以是任意位数:
12345678.999
或
12345678.9999999
为小数部分设置格式将修复小数位数(?)
【问题讨论】:
-
使用
NumberFormat。 -
这里有一个有用的帖子stackoverflow.com/questions/12806278/…