Ajuda com valor monetario

5 respostas
J

Bom dia a todos, estou com um problema com o recebimento de valor monetario, ja procurei em varios topicos no forum mas nenhum ficou claro na maneira como deveria resolver, o problema acontece quando recebo o valor digitado na pagina web jsp, pois quando vou trabalhar com o valor não consigo transformar em um double por casa dos simbolos, alguém saberia como posso arrumar isso?
O valor é recebido assim “R$ 1.200,00” e deveria receber assim => “1200.00”

5 Respostas

lcegatti

Você pode usar o NumberFormat

String valorPagina = "R$ 256,00";
		NumberFormat currency = NumberFormat.getCurrencyInstance(new Locale("pt","BR"));
		try {
			Double valor = currency.parse(valorPagina).doubleValue();
			System.out.println(valor);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

[]'s

J

Infelismente não funcionou, da uma mensagem de Unparseable number “R$ 1.200,00”.

G

como que ele manda os dados, de onde vem esse R$ 1200,00, dependendo o melhor é simplismente retirar dos dados iniciais o R$ e deixar apenas um double e quando for usar a resposta você coloca o R$

J

O valor que estou mostrando e um exemplo, ele é digitado em uma pagina jsp, e pego ele com um request.getParameter(“salario”); e atribui o valor para um objeto.
Tb tentei informar sem o R$ e não aceitou…

lcegatti

Estranho … fiz o teste com o valor R$ 1.200,00 e deu certo aqui, você recuperou seu currencyInstance passando o Locale ?

NumberFormat currency =
  NumberFormat.getCurrencyInstance(new Locale("pt","BR"));

Era pra dar certo hehe :thumbup:

[]'s

Criado 23 de julho de 2008
Ultima resposta 23 de jul. de 2008
Respostas 5
Participantes 3