9

テキストフィールドの値を結果で四捨五入するにはどうすればよいparseFloatですか?このアプリケーションは基本的に、クリックされたときにすべてのラジオボタンの値を合計し、その合計をテキストボックスに表示します。

以下のコードは、ラジオボタンの値が整数の場合は完全に機能しますが、ラジオボタンに浮動小数点値を設定したい場合は、合計値にが必要な100.0000000679ときになります100。ヒントをいただければ幸いです。前もって感謝します。

function calcscore(){
  var score = 0;
  $(".calc:checked").each(function(){
    score+=parseFloat($(this).val(),10);
  });
  $("input[name=openingsum]").val(score);
}
$().ready(function(){
    $(".calc").change(function(){
        calcscore();
    });
});

HTMLコード:

<input class="calc" name="v2" type="radio" onclick="ver2(this);" value="1.6666666666666666666666666666667" />Yes
<input class="calc" name="v2" type="radio" onclick="ver2(this);" value="0" />No
4

1 に答える 1

11

最初は、予想とは異なる例を提供してくれたと思います。あなたが取得について何かを教えてくれれば100.0000000679、あなたのコードには何かが間違っているという値だけが1.6666666666666666666666666666667あります:)

だから私はあなたの問題が正しい方法を丸めることだけであることを願っています。そのためにあなたは使うことができます.toFixed()

jsfiddleの例を参照してください

HTML:

<input class="calc" name="v1" type="radio" onclick="ver2(this);" value="1.6666666666666666666666666666667" />Yes
<input class="calc" name="v1" type="radio" onclick="ver2(this);" value="0" />No
<br>
<input class="calc" name="v2" type="radio" onclick="ver2(this);" value="1.6666666666666666666666666666667" />Yes
<input class="calc" name="v2" type="radio" onclick="ver2(this);" value="0" />No
<br>
<input class="calc" name="v3" type="radio" onclick="ver2(this);" value="1.6666666666666666666666666666667" />Yes
<input class="calc" name="v3" type="radio" onclick="ver2(this);" value="0" />No
<br>
<input type="text" name="openingsum">​

JAVASCRIPT:

function calcscore(){
  var score = 0;
  $(".calc:checked").each(function(){
    score+=parseFloat($(this).val(),10);
  });
  score = score.toFixed(2);
  $("input[name=openingsum]").val(score);
}
$().ready(function(){
    $(".calc").change(function(){
        calcscore();
    });
});​
于 2012-03-29T19:10:23.080 に答える