Merge pull request #5257 from node-red/fix-range-nodes-escapes

Fix rounding errors for range node when using float inputs and intege…
This commit is contained in:
Nick O'Leary
2025-10-09 10:05:54 +01:00
committed by GitHub
3 changed files with 36 additions and 0 deletions

View File

@@ -64,6 +64,14 @@
},
inputs: 1,
outputs: 1,
inputLabels: function() { return this.minin + " - " + this.maxin },
outputLabels: function(i) {
var outie = this.minout + " - " + this.maxout
if (this.action === "clamp") { outie = "[" + outie + "]" }
if (this.action === "drop") { outie = "x" + outie + "x" }
if (this.action === "roll") { outie = ">" + outie + ">" }
return outie;
},
icon: "range.svg",
label: function() {
if (this.minout !== "" && this.maxout !== "") { return this.name||this.minout + " - " + this.maxout; }

View File

@@ -24,6 +24,18 @@ module.exports = function(RED) {
this.maxin = Number(n.maxin);
this.minout = Number(n.minout);
this.maxout = Number(n.maxout);
if (this.minin > this.maxin) {
let tmp = this.minin;
this.minin = this.maxin;
this.maxin = tmp;
tmp = this.minout;
this.minout = this.maxout;
this.maxout = tmp;
}
if (this.round) {
this.maxout = Math.floor(this.maxout);
this.minout = Math.ceil(this.minout);
}
this.property = n.property||"payload";
var node = this;