Estou com uma dúvida para a validação de um valor string, eu tenho que pegar este valor e validar se realmente é um valor decimal com duas casas decimais.
Verifico a string com a classe regex, porém não estou conseguindo validar os dois dígitos após a vígula. Pois deve ter somente dois dígitos e não mais.
Utilizando o código abaixo, eu verifico se a string contém somente número (0-9) e após a vírgula deve ter [b]somente duas casas decimais[b]. O problema é que ele valida como correto mesmo que tenha mais que dois valores após a vírgula. Não está verificando se tem somente dois. :?
private void notifyEvent(String validate) {
this.validate = validate;
Pattern pattern = Pattern.compile("[0-9]?\,[0-9]{2}");
Matcher matcher = pattern.matcher(validate);
try{
if (matcher.find()) {
System.out.println("Valor validado - OK");
} else {
System.out.println("Valor incorreto");
}
}
catch (Exception ex){
ex.printStackTrace();
}
}
Quem puder ajudar eu agradeço. :D
