java – 将字符串转换为double总是给我错误的表示

我想通过使用Double.parsedouble方法将此字符串“0.00071942446044”转换为double,但它总是给出这个答案7.1942446044E-4

是否有任何想法将其转换为double但保持与字符串中的数字相同?

最佳答案
虽然两个数字完全相同,但您可以使用DecimalFormat以您喜欢的方式操作格式,仅用于演示目的.这是一个例子:

String s = "0.00071942446044";

Double d = Double.parseDouble(s);
DecimalFormat df = new DecimalFormat("#.##############");

System.out.println("double: " + d);
System.out.println("formatted: " + df.format(d)); 

出局是:

double: 7.1942446044E-4
formatted: 0.00071942446044

请注意,小数点后的#数与示例完全相同.

转载注明原文:java – 将字符串转换为double总是给我错误的表示 - 代码日志