Transformar em valor de moeda

4 respostas
P

Quero pegar de um String o valor de qualquer número que a pessoa digitar e transformar um um double.

Se a pessoa digitar: 1.000.00, 1000, 1.000,00, 1,000,00 ele transforma em double.

Utilizei o seguinte código:

String vlString = “1.000.50”;

System.out.println(Double.parseDouble(vlString));

e dá erro!!!

Alguem tem uma solução prática???

Grato.

4 Respostas

D

tenta aplicar um formatador, pattern do proprio java, algo mais ou menos assim

DecimalFormat formatador = new DecimalFormat();
    formatador.applyPattern("R$ 000.000,00;R$ (000.000,00)"); // Só não lembro exatamente aqui.
    System.out.println("Seu Valor : " + formatador.format(new java.math.BigDecimal(vlString)));

acho que é mais ou menos isso…
O DecimalFormat te permite formatar isso já padrão.

P

Funciona para as casas decimais, mas se o usuário digitar: 1.000.00 dá pau!!!

Grato.

D

bom adivinhar o que o usuário irá digitar é dificil…
no caso do usuário digitar . , faça um replace tirando estes caracteres e aplique o pattern quando precisar!
Não serve assim?

P

É acho que vou ter que fazer um metodo para dar uma refinada nesse valor.

Só pensei que tivesse algum metodo do JAVA mesmo, ai seria mais prático.

Mas fazer o que né… O negócio é programar!!!

Obrigado a todos.

Pierre

Criado 24 de fevereiro de 2005
Ultima resposta 24 de fev. de 2005
Respostas 4
Participantes 2