Как округлить результаты parseFloat в Jquery/Javascript?
Как бы я округлить значение из текстового поля с 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
1 ответ
Сначала я думаю, что вы предоставили нам другой пример, чем ожидалось. Если вы сообщите нам что-то о получении 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();
});
});