来自多个选择的总和值总共给出了奇怪的结果
问题描述:
我试图添加价值标签几个选项,但我得到了一些奇怪的结果。 我想知道某些数字不能很好的帮助。 这里,我离开的链接,例如jsfiddle.net http://jsfiddle.net/pgy74r1k/来自多个选择的总和值总共给出了奇怪的结果
JavaScript函数:
sumValues('#priceList', '#totalPrice');
function sumValues(list,total){
var allListElements = $("select");
var sum = 0;
$(list).find(allListElements).each(function() {
sum += Number($('option:selected', this).attr('price'));
});
$(total).empty();
$(total).append(sum+' €');
}
HTML代码:
<div id="priceList">
<select class="participant" name="price1" style="width: 100%" onchange="sumValues('#priceList', '#totalPrice')">
<option value="0" price="0"> 0€ </option>
<option value="1" price="10.62" selected="selected"> 10.62€ </option>
</select>
<select class="participant" name="price2"
style="width: 100%" onchange="sumValues('#priceList', '#totalPrice')">
<option value="0" price="0"> 0€ </option>
<option value="1" price="13" selected="selected"> 13€ </option>
</select>
</div>
<strong id="totalPrice"></strong>
在此先感谢。
如果您尝试直接运行'13 + 10.62',您会看到奇怪的结果与您的HTML或DOM脚本无关。你的问题纯粹是由浮点运算如何工作造成的,这直接在[浮点运算失败?]中解决(http://*.com/questions/588004/is-floating-point-math-broken) – apsillers 2014-10-31 16:47:20