[英]Round integer number to 1 decimal
我正在使用Jquery旋鈕,輸入值通過滑塊更改。
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”變量四舍五入到小數點后一位,我嘗試使用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
無法正常工作,但如果您願意像字符串一樣處理它,我們可以考慮采用其他方法。
CheckThis
function RoundToOne(val)
{
var length =val.indexOf('.');
var newVal= val.substring(0,length+2);
return newVal;
}
不要忘記添加驗證
編輯
我不認為您的問題與.toFixed
和Math.round
一起用您的旋鈕
檢查有關jQuery旋鈕的這些鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.