Boas pessoal,
Quero formatar os numeros que recebo do resultSet e estou fazndo o seguinte :
NumberFormat fmtt = new DecimalFormat(",###");
fmtt.setMaximumFractionDigits(1);
e o numero me aparece assim : 125.456,0
Mas eu queria que ele em vez do ponto pusesse a virgula e vice-versa. seria assim : 125,456.0 so assim o java irá dar o resultado correcto.
Isso porque se eu tento somar dois numeros com o primeiro formato o resultado dá errado.
Por exemplo eu recebo dois numeros : 125.456,0 e 130.456,0 o resultado será : 255.912
Tem jeito de eu mudar isso ?
Eu posso somar os numeros formatados ?
import java.util.*;
import java.text.*;
class TesteDecimalFormat {
public static void main(String[] args) {
NumberFormat nf;
Locale ptPT = new Locale ("pt", "PT");
nf = new DecimalFormat (",###.0", new DecimalFormatSymbols (ptPT));
System.out.println (nf.format (123456)); // Imprime "123.456,0"
Locale enUS = Locale.US;
nf = new DecimalFormat (",###.0", new DecimalFormatSymbols (enUS));
System.out.println (nf.format (123456)); // Imprime "123,456.0"
//-- Agora vamos somar dois números formatados.
String s1, s2, s3;
double d;
s1 = nf.format (123456);
s2 = nf.format (130456);
try {
d = nf.parse (s1).doubleValue() + nf.parse (s2).doubleValue();
s3 = nf.format (d);
System.out.println (s3); // imprime "253,912.0"
} catch (ParseException ex) {
}
}
}