在Java中将double转换为String

时间:2014-07-31 19:54:12

标签: java string types double

我要将double值转换为String。

double d=12345678.999;
String str = String.valueOf(d);

或者,只是简单

String str = ""+d;

它是否以指数形式返回String值:

1.2345678999E7

我需要String中的值:

12345678.999

有办法做到这一点吗?我可以解析字符串中的exponent值 - ' E'之后的部分。从那里开始,但必须有一种更简单的方法。

// ===========================

编辑:

输入中小数部分的长度是未知的,它可以是任意位数:

12345678.999

12345678.9999999

强制使用小数部分的格式将固定小数位数(?)

2 个答案:

答案 0 :(得分:3)

您应该使用NumberFormat格式化字符串,以便它们不会以科学记数法显示。

String str = NumberFormat.getInstance().format(d);

答案 1 :(得分:2)

使用String.format()

double d=12345678.999;
System.out.println(String.format("%12.3f", d));