Javascript数学onkeyup问题

时间:2012-06-29 01:58:30

标签: php javascript mysql

我不能为我的生活找出以下问题(我用JavaScript不太好。)

这是我的代码:

<script type='text/javascript'>//<![CDATA[ 
window.onload=function(){

<?php print("var base = " . $cash2points . " ;\n");?>
   document.getElementById('numberField').onkeyup = function() {
      if(this.value.length == 0) {
         document.getElementById('result').innerHTML = '';
         return;
      }
      var number = parseInt(this.value);
      if(isNaN(number)) return;
      document.getElementById('result').innerHTML = number * base;
   };
   document.getElementById('numberField').onkeyup();


<?php print("var base1 = " . $points2cash . " ;\n");?>
   document.getElementById('numberField1').onkeyup = function() {
      if(this.value.length == 0) {
         document.getElementById('result1').innerHTML = '';
         return;
      }
      var number = parseInt(this.value);
      if(isNaN(number)) return;
      document.getElementById('result1').innerHTML = number * base1;
   };
   document.getElementById('numberField1').onkeyup();
}//]]>  

</script>

$cash2points = 100$points2cash = 0.01代码的第二部分base1就像魅力一样,它会在<span>中给出小数,但是当我输入类似{ {1}} 0.01 numberfield base = $cash2points 0 1 {}} {}}} {{}} {}} {}}}不行。我尝试制作$cash2points = 100.00,但仍然会产生相同的结果。

我很确定isNaN的小数回复为假,所以我认为这也不是问题。

非常感谢任何提示或指示。

1 个答案:

答案 0 :(得分:3)

由于您已将number包裹在parseInt中,因此您只会返回整数值 - 并且浮点数(如0.01)将被截断为整数。请尝试使用parseFloat