bom dia pessoal... fiz uma validação aqui... e quando eu digito um valor sem ser quebrado "380" tudo ok... agora quando eu digito um valor ''380,23'' dá um erro assim ''java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Long'' a minha variável é do tipo long e meu campo no banco é double... reparei que se eu colocar ponto no lugar da virgula ele não dá o erro... mas no entanto na hora de passar na validacão ele entende que o valor digitado é maior... pq???
essa é minha rotina de validação...
public void validate(FacesContext arg0, UIComponent arg1, Object value) {
Long salarioAtual = ((Long) value).longValue();
Long Maximo = salarioMaximo;
Long Minimo = salarioMinimo;
if (value == null)
return;
if ((salarioAtual < Minimo) || (salarioAtual > Maximo)) {
FacesMessage message = new FacesMessage(
"*Valor especificado não está entre os esperados para o sexo selecionado. Minimo: R$"
+ salarioMinimo + " Máximo: R$" + salarioMaximo);
throw new ValidatorException(message);
}
}