我要将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
强制使用小数部分的格式将固定小数位数(?)
答案 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));