Formattazione di un numero decimale in Java
Postato da ROb | nella categoria Java, Sviluppo web | martedì, 20 luglio 2010
2
Può capitare di dover modificare i caratteri separatori di decimali e migliaia nella formattazione di un numero in Java.
Questa porzione di codice vi permette di farlo sfruttando alcune classi base di Java:
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('$');
symbols.setGroupingSeparator('#');
String format = "###,###.###";
DecimalFormat formatter = new DecimalFormat(format, symbols);
formatter.setGroupingSize(3);
String numberString = formatter.format(number);
In questo caso, un pò per gioco, abbiamo impostato il carattere $ come separatore dei decimali e # come separatore delle migliaia.
La classe DecimalFormat formatta il numero sfruttando il pattern specificato in questo “###,###.###”. Il suo costruttore però accetta anche una variabile di tipo DecimalFormatSymbols che può essere inizializzata a partire da uno specifico Locale (avremmo infatti potuto rimpiazzare la chiamata con DecimalFormatSymbols symbols = new DecimalFormatSymbols(new Locale(“it”)); ).
A questo punto la variabile symbols può essere utilizzata per sovrascrivere le impostazioni dell’eventuale Locale utilizzato oppure può essere utilizzato in modo nativo lasciando i separatori di default che, per la lingua italiana, sono tipicamente la “,” come separatore dei decimali e il “.” come raggruppatore della migliaia (non sempre visualizzato).

Mi salverò l’articolo che sicuramente mi tornerà utile la prossima volta che dovrò gestire questo tipo di formattazione.
Ciao
Sono contento ti sia stato utile… è proprio lo scopo del mio blog.
Ciao ciao.