0

私は一生、次の問題を理解することができません(私は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コードの2番目の部分はチャームのように機能base1しますが、小数点以下の桁数が表示されますが、のように<span>入力すると、不足しているものがあるか、それとも何かが表示されるはずです。それはできません。作ってみましたが、それでも同じ結果になりました。0.01numberfieldbase = $cash2points01$cash2points = 100.00

小数はfalseとして返されると確信しているisNaNので、それも問題ではないと思います。

ヒントやポインタは大歓迎です。

4

1 に答える 1

3

でラップnumberしたのでparseInt、整数値を取得するだけです-そしてfloat(のような0.01)は整数に切り捨てられます。parseFloat代わりに使用してみてください。

于 2012-06-29T02:05:12.110 に答える