簡體   English   中英

將整數舍入為小數點后1位

[英]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。 參見下圖。

在此處輸入圖片說明 現在我該如何解決這個問題

我不明白為什么.toFixedMath.round無法正常工作,但如果您願意像字符串一樣處理它,我們可以考慮采用其他方法。

CheckThis

function RoundToOne(val)
{
var length =val.indexOf('.');
var newVal= val.substring(0,length+2);
return newVal;
}

http://jsfiddle.net/8XQen/1/

不要忘記添加驗證

編輯

我不認為您的問題與.toFixedMath.round一起用您的旋鈕

檢查有關jQuery旋鈕的這些鏈接

jQuery旋鈕顯示編號更改

我無法讓jQuery旋鈕顯示值

如何在jQuery.knob中添加值后綴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM