!!! desafio !!!
Galera, o lance é o seguinte:
Eu tenho uma função muito simples de subtração de dois valores, mas o JavaScript NÃO CONSEGUE FAZER A CONTA CERTA de jeito nenhum.
Já tentei tudo, e não consegui descobrir o erro.....
Será que alguém aí se habilita a tentar me ajudar?
Tô mandando o código.
O que eu quero é recuperar a parte decimal do número, e guardar em uma variável.
Mas todo número (com duas casas decimais) que eu digito, o JavaScript erra a conta na hora de subtrair o valor digitado pelo valor da parte inteira do número digitado.
Por exemplo.
Quando eu digito 1.13, eu faço a subtração do número digitado (1.13) pelo seu inteiro ( parseInt(1.13) ), mas aí, PARA MINHA SURPRESA, o resultado não dá 0.13...... Tá duvidando????? Faz o teste aí.
Aí vai o código.....
<html><head><title>:: Não consegue subtrair ::</title><script language="javascript"><!-- function SoNum() { if((event.keyCode < 48 && event.keyCode != 46) || (event.keyCode > 57)) { event.returnValue = false; } } function subtrai(Num){ var cents; cents = Num - parseInt(Num); // Aki em baixo são alguns teste que eu fiz usando diretamente NUMEROS e não o valor passado pela variável, e ainda assim não funcionou // cents = 1.13 - 1.00; -> Teste simples e que não funciona // cents = (1.13 - 1) + 0.0000000000000001 -> Desse jeito o m***** funciona!!!!!!! // cents = (1.13100 - 1.00100)/100; -> Assim, tirando as casas decimais e depois colocando de novo, também não funciona alert(cents); }//--></script></head><body><form name="Form" method="post" action=""> <p>Num1: <input name="n1" type="text" onKeyPress="SoNum();" value="1.13"> <input type="button" name="Submit" value="Calcula" onClick="subtrai(Form.n1.value);"><br> chama a função no "onBlur"</p></form></body></html>
Já tô quase esmurrando o computador.
Discussão (2)
Carregando comentários...