Pregunta

Estoy tratando de imprimir un pequeño doble como número 6.67e-11, pero utilizando Double.toString () devuelve 0. ¿Qué puedo hacer para hacer que imprima 6.67e-11 (o algo similar) en su lugar?

¿Fue útil?

Solución

No se puede reproducir:

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() siempre devuelve una cadena que permite que el valor exacto a utilizar Double.parseDouble()-disparado ronda.

Mi conjetura es que no lo hace realmente tiene un valor pequeño -. Que tiene 0, debido a algunos errores de redondeo en otras operaciones

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top