Ajuda com formatação de números

4 respostas
zirocool

Preciso formatar um número como o exemplo a seguir

de 2,35 para 2.35.

Só que não tenho idéia de como fazer…
Com a NumberFormat tem como fazer o contrário (de 2.35 p/ 2,35), e aí é que é a minha dúvida, como formato do padrão brasileiro pro americano?
Preciso armazenar a variável em um campo tipo double, no banco.

Valeu…

4 Respostas

marciosantri

Se o objetivo é guardar o valor como double no banco, passe como parâmetro um double para o banco.
Experiência com o Oracle me mostraram que às vezes o client está configurado no padrão brasileiro e outros no padrão americano (depende de quem instalou). Em alguns lugares em que eu passava uma string funcionava em um e não em outro. Isso só se resolveu qdo resolvi passar como parâmetro numérico, que é igual à todos.

Não sei se seu banco é o Oracle, mas certamente deve resolver.

zirocool

hehehe
Seria bom se eu pudesse dizer pra quem fosse usar o sistema usar . (ponto) ao invés de ,(vírgula)…

Mas isso não resolveria…

A solução tá aqui:

Locale loc = new Locale("pt", "BR");
				NumberFormat formatter = NumberFormat.getNumberInstance(loc);
				 
				Number b = null;
				try {
					b = formatter.parse(preco);
				}
				catch (Exception ex) {
					System.out.println(ex);
				}		
				Double pre = b.doubleValue();
marciosantri

Vc se refere à objetos de interface com usuário?

S
zirocool:
hehehe Seria bom se eu pudesse dizer pra quem fosse usar o sistema usar . (ponto) ao invés de ,(vírgula)...

Mas isso não resolveria...

A solução tá aqui:

Locale loc = new Locale("pt", "BR");
				NumberFormat formatter = NumberFormat.getNumberInstance(loc);
				 
				Number b = null;
				try {
					b = formatter.parse(preco);
				}
				catch (Exception ex) {
					System.out.println(ex);
				}		
				Double pre = b.doubleValue();

Amigo gostei da sua solucao o problema é que não consegui colocar duas casas apos a virgula e sim uma.

VC Tem algum codigo que formata com duas?

Grato
Sandoval César

Criado 21 de maio de 2007
Ultima resposta 26 de mai. de 2007
Respostas 4
Participantes 3