mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-13 17:26:34 +00:00
fhemweb.js: better rounding for floats (Forum #44104)
git-svn-id: https://svn.fhem.de/fhem/trunk@9907 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
392189f2fe
commit
2278abc4f6
@ -766,6 +766,12 @@ FW_createSlider(elName, devName, vArr, currVal, set, params, cmd)
|
|||||||
var stp = parseFloat(vArr[2]);
|
var stp = parseFloat(vArr[2]);
|
||||||
var max = parseFloat(vArr[3]);
|
var max = parseFloat(vArr[3]);
|
||||||
var flt = vArr[4];
|
var flt = vArr[4];
|
||||||
|
var dp = 0; // decimal points for float
|
||||||
|
if(flt) {
|
||||||
|
var s = ""+stp;
|
||||||
|
if(s.indexOf(".") >= 0)
|
||||||
|
dp = s.substr(s.indexOf(".")+1).length;
|
||||||
|
}
|
||||||
if(currVal != undefined)
|
if(currVal != undefined)
|
||||||
currVal = currVal.replace(/[^\d.\-]/g, "");
|
currVal = currVal.replace(/[^\d.\-]/g, "");
|
||||||
currVal = (currVal==undefined || currVal=="") ? min : parseFloat(currVal);
|
currVal = (currVal==undefined || currVal=="") ? min : parseFloat(currVal);
|
||||||
@ -842,8 +848,8 @@ FW_createSlider(elName, devName, vArr, currVal, set, params, cmd)
|
|||||||
if(offX < 0) offX = 0;
|
if(offX < 0) offX = 0;
|
||||||
if(offX > maxX) offX = maxX;
|
if(offX > maxX) offX = maxX;
|
||||||
val = offX/maxX * (max-min);
|
val = offX/maxX * (max-min);
|
||||||
val = (flt ? Math.floor(val/stp)*stp :
|
val = flt ? (Math.floor(val/stp)*stp+min).toFixed(dp) :
|
||||||
Math.floor(Math.floor(val/stp)*stp))+min;
|
(Math.floor(Math.floor(val/stp)*stp)+min);
|
||||||
sh.innerHTML = val;
|
sh.innerHTML = val;
|
||||||
sh.setAttribute('style', 'left:'+offX+'px;');
|
sh.setAttribute('style', 'left:'+offX+'px;');
|
||||||
}
|
}
|
||||||
@ -871,6 +877,8 @@ FW_createSlider(elName, devName, vArr, currVal, set, params, cmd)
|
|||||||
currVal = (res ? parseFloat(res[0]) : min);
|
currVal = (res ? parseFloat(res[0]) : min);
|
||||||
if(currVal < min || currVal > max)
|
if(currVal < min || currVal > max)
|
||||||
currVal = min;
|
currVal = min;
|
||||||
|
if(flt)
|
||||||
|
currVal = parseFloat(currVal).toFixed(dp);
|
||||||
newEl.activateFn();
|
newEl.activateFn();
|
||||||
};
|
};
|
||||||
return newEl;
|
return newEl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user