Convertire molto piccoli valori doppi a stringa (con la notazione scientifica) (Java)
-
09-10-2019 - |
Domanda
Sto cercando di stampare un piccolo doppia numero come 6.67e-11
, ma utilizzando Double.toString () restituisce 0
. Che cosa posso fare per farlo stampare 6.67e-11 (o qualcosa di simile), invece?
Soluzione
Impossibile riprodurre:
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()
restituisce sempre una stringa che permette l'esatto valore di essere andata e scattato utilizzando Double.parseDouble()
.
La mia ipotesi è che non si effettivamente hanno un valore piccolo -. Che avete 0, a causa di alcuni errori di arrotondamento in altre operazioni
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow