PDA

Visualizza la versione completa : [JAVA] double e BigDecimal


nicrom
24-11-2002, 17:38
Ciao a tutti,
scusate l'ignoranza, ma non riesco propio a stampare il valore di un double in un formato "normale", cioè:


double d = 0.000000012;
System.out.println(d);

mi stampa 1.2E-8 ... io invece vorrei che mi stampasse 0.000000012 come possso fare??
Se passo dalla classe BigDecimal devo per forza specificare il numero di cifre dopo la virgola, ed io invece non lo voglio fare...

possibile che non esista la maniera per fare stampare un double in una forma decente???:dhò:

grazie e ciao a tutti,
nicola

ghinz
25-11-2002, 08:56
Non mi è ancora capitato di fare una cosa del genere, comunque potresti dare un'occhiata alla classe NumberFormat...

nicrom
25-11-2002, 18:01
ho provato a guardare la classe DecimalFormat (che estende NumericFormat), ma non esiste qualcosa di più semplice? :(

pippo75
26-11-2002, 12:33
Prova un po' questo :

NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
nf.setParseIntegerOnly(true);
String s = nf.format(5.5678);
System.out.println(s);

nicrom
27-11-2002, 14:37
si, ho provato, tutto ok...

devo però mettere:


nf.setMaximumFractionDigits(10);

quindi in teoria potrei perdere un pò di informazione...

comunque a me va benissimo così,
grazie mille ragazzi...
alla prossima.
nicola

Loading