我正在使用Jquery旋钮,输入值是通过滑块更改。圆整数到1十进制
window.onload = function(){
var elements=document.querySelectorAll('input[type=range]')
for(var i = 0; i < elements.length; i++){
elements[i].addEventListener('change',calcul , false);
}
}
function calcul(){
var elements = document.querySelectorAll('input[type="range"]')
var len = 0
var buf = 0
for(var i=0;i<elements.length;i++) {
if(elements[i].parentNode.parentNode.style.display != 'none'){
buf += parseInt(elements[i].value)
len++
}
}
buf = len === 0 ? 0 : buf/len
document.getElementById("knob").value=buf;
$("#knob").trigger("change");
}
现在我想变圆了“BUF”到1位小数,我试图用toFixed和Math.round .... ,但我不能让它的工作,有人可以帮我吗?
编辑:我现在使用这个,如果我使用console.log它一切顺利。
buf = len === 0 ? 0 : buf/len;
gem_cijfer = buf.toFixed(1);
document.getElementById("knob").value=gem_cijfer;
document.getElementById("form_knob").value=gem_cijfer;
$("#knob").trigger("change");
示例问题,在console.log中显示为1.7。然而在jquery旋钮的输入字段中显示了1.7000000000000002。见下图。
现在我该怎样解决这个问题
为什么不'.toFixed'或'Math.round'工作? –
你在哪里试图使用'toFixed'? – Barmar
我编辑了这篇文章,希望现在清楚 – user2971991