例如,我有以下 HTML:
<div class="result">
<div class="score">3.55</div>
<div class="score">4.50</div>
<div class="score">4.50</div>
<div class="score">4.20</div>
<div class="score">4</div>
</div>
<div class="result">
<div class="score"5>2.33</div>
</div>
使用jquery,我为每个“结果div”计算所有“得分div”,并为每个“结果div”创建一个带有结果的新div,称为“目标”。
我的功能:
$('.result').each(function () {
var sum = 0;
$(this).find('.score').each(function () {
sum += Number($(this).text() / 5);
});
$(this).append('<div class="goal">' + sum + '</div>');
});
我的问题
我只想在逗号后显示一个数字。我尝试集成“.toFixed(1);”,但它总是失败。
像这样的东西:
sum += (Number($(this).text() / 5)).toFixed(1);
这次尝试的结果是一个无穷无尽的错误数字......
它将如何运作?
由于/ 5
已经转换为一个数字,因此您根本不需要Number(...)
围绕该部分。只是sum += $(this).text() / 5;
会做。除非你很迂腐,在这种情况下,这sum += parseFloat($(this).text()) / 5;
就是你所需要的。
除此之外,您应该始终处理“精确”数字,并且只在最后应用四舍五入。所以'<div class="goal">' + sum.toFixed(1) + '</div>';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句