Estou com uma dúvida, to querendo criar uma função para converter um valor monetario do tipo 99,99, na verdade seria dar um replace neste valor e trocar a virgula por ponto, mas o maior problema que este valor é resultado de uma multiplicação, ou seja não tem um formato padrão… uma hora pode ser 9,99 ou 99,99 ou 999,99 e assim por diante… teria como eu criar uma função que abranja todos estes casos… tipo um replaceAll por exemplo…
Amigo, tentei fazer uma função usando o seu código, mas tá dando erro.
publicstaticStringconverteMoeda(Stringvalor)throwsParseException{//String s = "1.234.567,89"; DecimalFormatSymbolsdfs=newDecimalFormatSymbols(newLocale("pt","BR"));DecimalFormatdf=newDecimalFormat("#,##0.00",dfs);doubled=(double)df.parse(valor);// Não tá aceitando o castreturnd;// Pede para converter o a variavel d para String}
O que pode ser feito???
Mero_Aprendiz
Dá uma estudada no BrazilUtils.
Não vai arrepender!
:lol:
[]'s
JL
I
Igor_Franco
Dei uma pesquisada aqui na net e encontrei pouco materia sobre esta API… depois vou procurar mais…
Mas em relação ao meu post, vc tem alguma sugestão ?
Mero_Aprendiz
Uai…
"99,99".replace(".", "").replace(",",".");
Te resolve não?
71C4700
O retorno de seu metedo é uma String e vc ta tentando retorna um double.
bsl.lacerda
E se eu quizesse converter de double 3269.0 para ums string no formato monetário 3.269,00 para exibir dentro de um input no jsp?
Valeu Galera!