Buongiorno,
ho il seguente problema.
Sviluppo in Java su un pc impostato con la lingua di sistema in Inglese.
Voglio visualizzare, in una JTextField, un valore prelevato da un campo float di un db MySql, formattandolo nel formato italiano, quindi con il carattere virgola "," come separatore dei decimali e il punto "." come separatore delle migliaia.
Inoltre vorrei che mi visualizzasse sempre e solo 2 decimali e se non presenti devono essere ,00.
Esempi:
23.4 -> 23,40
512 -> 512,00
3248.678 -> 3.248,69
fValue è la variabile float contenente il valore da formattare;
se uso:
NumberFormat itFrmt = NumberFormat.getInstance(Locale.ITALY);
String sEuro = itFrmt.format(fValue);
me lo formatta correttamente come caratteri di virgola e migliaia, ma mette i decimali come vuole lui, ovvero 3 o 4 oppure nessuno se il valore non li avesse.
Se invece uso:
DecimalFormat sdf = new java.text.DecimalFormat("#.##0,00");
String sEuro = sdf.format(fValue);
mi da l'errore:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Malformed pattern "#.##0,00"
Qualche indicazione utile?