<script language="javascript1.2">
function xxg()
{
if (document.form1.username.value!=""){
var n=document.form1.username.value;
var m=n*10000;
alert(m)
document.form1.username.focus();
return false
}
return true
}
</script>
<form name="form1" method="post" action=""onsubmit="return xxg()">
<div align="center"><strong>输入值</strong>:
<input name="username" type="text" size="10">
<br>
<br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit" value="重置">
</div>
</form>当n=19.99、20.99时输出的m值是199899.99999999997和209899.99999999997。为什么不是199900和209900呢?这样会误差好大的。然而其他的数却都正常!各位可以把上边的程序考下来运行看看。
请问有谁知道这是什么原因啊有没有好的解决办法啊?
function xxg()
{
if (document.form1.username.value!=""){
var n=document.form1.username.value;
var m=n*10000;
alert(m)
document.form1.username.focus();
return false
}
return true
}
</script>
<form name="form1" method="post" action=""onsubmit="return xxg()">
<div align="center"><strong>输入值</strong>:
<input name="username" type="text" size="10">
<br>
<br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit" value="重置">
</div>
</form>当n=19.99、20.99时输出的m值是199899.99999999997和209899.99999999997。为什么不是199900和209900呢?这样会误差好大的。然而其他的数却都正常!各位可以把上边的程序考下来运行看看。
请问有谁知道这是什么原因啊有没有好的解决办法啊?
var m=n*10000;
alert(getFloat(m))
function getFloat(num)
{
var num = parseFloat(num);
if(isNaN(num))num = 0;
return num;
}
是这样么?还是不行啊,显示的还是209899.99999999997