Estou fazendo assim:
[code]
public static String formatValue (String numero, int digits) {
String nmbr2;
Double nmbr;
// numero = numero.replace( ".", "" );
// numero = numero.replace( ",", "" );
// numero = numero.trim();
nmbr = Double.parseDouble(numero);
NumberFormat nmbrFrmt = NumberFormat.getNumberInstance(Locale.getDefault());
nmbrFrmt .setMinimumFractionDigits(digits);
nmbr2= nf.format(nmbr );
return nmbr2;
}
Este método é chamado no FocusLost do comoponente TEXT do SWT. Mas ainda não está como deveria.
Pois se o campo ja possui valor ele me dá erro, ele não consegue formatar um campo que ja foi formatado, ou seja, as vírguças ou pontos não podem passar por esse método.
Mas se eu retirar os "." e "," vai acabar somando.
Exemplo:
1) Campo vazio, digito o valor 12, ele vai retornar ao campo 12,00 (Pois o método tem atributo digits, que é qtde de digitos depois da vírgula).
2) Caso eu saia do campo (que já está com o valor 12,00) ele da erro, ou caso eu implemente a retirada do "." e da "," ele vai ler 1200, e vai retornar 1200,00.
Alguma ideia ?