将非常小的double值转换为字符串(使用科学记数法)(Java)

时间:2010-12-12 12:58:44

标签: java double scientific-notation

我正在尝试打印一个小的 double 数字,如6.67e-11,但使用Double.toString()会返回0。我该怎么做才能让它打印6.67e-11(或类似的东西)呢?

1 个答案:

答案 0 :(得分:2)

无法重现:

public class Test {

    public static void main(String args[])
    {
        double d = 6.67e-11;

        System.out.println(Double.toString(d)); // Prints "6.67E-11"
    }
}

IIRC,Double.toString()始终返回一个字符串,该字符串允许使用Double.parseDouble()对确切的值进行往返。

我的猜测是,由于其他操作中出现了一些舍入错误,实际的值很小 - 你有0。