Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho o seguinte codigo em uma validação no java script:
var valorDigitado = parseFloat(valor.value.replace(',', '.'));
var valorDisponivel = parseFloat(4036.40);
if (valorDigitado.toFixed(2) > valorDisponivel.toFixed(2))
{
alert('Valor digitado maior que o valor disponível!');
return false;
}Meu valor disponível é de "4036.40"
Óbviamente, o valor digitado é MENOR que o valor que eu tenho disponivel
Porem, esta entrando no IF!
Acrescentei uma linha dentro do IF para dar um alert nos valores
var valorDigitado = parseFloat(valor.value.replace(',', '.'));
var valorDisponivel = parseFloat(4036.40);
if (valorDigitado.toFixed(2) > valorDisponivel.toFixed(2))
{
alert('Digitado ' + valorDigitado.toFixed(2) + ' Disponivel ' + valorDisponivel.toFixed(2));
alert('Valor digitado maior que o valor disponível!');
return false;
}/applications/core/interface/imageproxy/imageproxy.php?img=http://img179.imageshack.us/img179/6374/alertei7.jpg&key=99568ef910a05f2de93fe0b2ab8513a3a95684dddaef22bdaba9ced37acd7370" alt="Imagem Postada" />
Porque isso? :(
percebi uma coisa...
digitando 400, funcionava, digitando 410, não funcionava.. repare que o valor é de 4036.40
Logo, existe algum problema na comparação entre variáveis usando a função toFixed().
Resolvi meu problema de uma outra forma, sem usar o toFixed(), passando os valores ja formatados para a validacao. Mas fica aí a dúvida de porque isso acontece..
>
E onde está essa variável?
"totalReceber".
Estou vendo 3 variáveis ai:
var valorDisponivel;
var valorDigitado;
e "totalReceber";
desculpe, editei!
é que colei meu codigo aqui depois editei so pro nome da variavel ficar mais claro, acabei nao alterando em tudo.
E onde está essa variável?
"totalReceber".
Estou vendo 3 variáveis ai:
é isso que você está fazendo ne?!
if (valorDigitado.toFixed(2) > valorDisponivel.toFixed(2))
{