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?
estou 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 merda funciona!!!!!!!
// cents = (1.13*100 - 1.00*100)/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>
Pergunta
BartS
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?
estou 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.....
Já estou quase esmurrando o computador.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.