Olá gente,
caçei por 2 horas no forum mas não achei uma forma de validar um valor, então resolvi postar…
como posso validar uma string? (segue explicadinho abaixo):
recebo uma string com um valor (moeda) já formatado : Ex: 1234,56
preciso validar essa string, ou seja:
não pode ser 12…34,56
nem 12asd34,56
nem 1234,56
etc…
alé disso o tamanho maximo quando convertido pra double ou float ou Decimal é (10,2)
como faço pra validar essa string?
Obrigado desde já
É uma pequena parte, dê uma trabalhada em cima pra ver se você consegue desenvolver o restante, como por exemplo: converter a string recebida para float ou double antes de passar para o NumberFormat.format().
A formatação funfou show de bola, e ainda me ajuda a validar alguns aspectos do valor, por exemplo:
causa exception quando entro com 123asd45,56 , o problema é que não está aceitando valores como 9.999.99 tentei dar um replaceAll de “.” para “” mas não funfa…segue o codigo:
[code] float f=0;
String s = “9999,99”;
s=s.replaceAll(".", “”);//aqui não funciona
s=s.replaceAll(",", “.”);
f = Float.parseFloat(s);//Aqui ele causa a exception pra valores inválidos
Locale locale = new Locale("pt","BR");
NumberFormat nf = NumberFormat.getCurrencyInstance(locale);
System.out.println(nf.format(f));