如何舍入parseFloat导致Jquery/Javascript?

Dav*_*214 9 javascript jquery rounding parsefloat parseint

我如何从文本字段中舍入一个值并将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();
    });
});
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

Ney*_*sor 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">?
Run Code Online (Sandbox Code Playgroud)

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();
    });
});?
Run Code Online (Sandbox Code Playgroud)