我收到2.01506160000328E14 -----我需要这个值应该是20150616.0000328
从网络我读数据读取为double(in,10)... Double值我得到了E14。我想转换为正常数字,如上格式
答案 0 :(得分:1)
双倍价值我得到了E14。我想转换为正常数字,如上格式
是正常数字。您所看到的只是scientific notation中的字符串表示。
我需要这个值应该是20150616.0000328
号码2.01506160000328E14
是201506160000328
。如果你想要20150616.0000328
,你必须除以一百万。
那就是说,我会强烈建议如果这是一个日期/时间,你会把它读作 text 并解析它。
答案 1 :(得分:1)
是否要将双打印到字符串? 20150616.0000328应为2.01506160000328E7但不是2.01506160000328E14
代码如下,是你想要的吗?
public static void main(String[] args) {
Double d = 20150616.0000328;
System.out.println("exponential = " + d);
String formatMask = "0.################################################";
DecimalFormat df = new DecimalFormat(formatMask);
System.out.println("normal number=" + df.format(d));
}
结果:
指数= 2.01506160000328E7
正常数= 20150616.0000328