Convertir valores muy pequeños dobles de cadena (con notación científica) (Java)
-
09-10-2019 - |
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?
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