Io uso i valori doppi nel mio progetto e vorrei mostrare sempre le prime due cifre decimali, anche se sono zeri. Io uso questa funzione per arrotondare e se il valore che stampo è 3.47233322 (correttamente) stampa 3.47. Ma quando stampo, ad esempio, il valore 2 stampa 2.0.Java: double: come mostrare SEMPRE due cifre decimali
public static double round(double d) {
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
Voglio stampare 2.00!
C'è un modo per farlo senza utilizzare le stringhe?
Grazie!
EDIT: dalle vostre risposte (di cui vi ringrazio) Capisco che non ero chiaro nel dire quello che sto cercando (e mi dispiace per questo): so come stampare due cifre dopo il numero usando le soluzioni che hai proposto ... quello che voglio è memorizzare nel doppio valore direttamente le due cifre! In modo che quando faccio qualcosa di simile a questo System.out.println("" + d)
(dove d è il mio doppio con valore 2) stampa 2.00.
Sto iniziando a pensare che non c'è modo di farlo ... giusto? Grazie ancora per le tue risposte, per favore fatemi sapere se conoscete una soluzione!
Non credo che è possibile modificare i negozi di via java valori doppi. È possibile modificare solo il modo in cui sono formattati quando presentati. –
Sì ... penso che tu abbia ragione ... Dovrò formattare i miei valori ogni volta che li mostrerò all'utente ... MOLTE volte! La ringrazio per la risposta! – aveschini
Bene, basta scrivere il metodo di formattazione una sola volta, non mi preoccuperei di ciò. ;) –