NEWS
[gelöst] Logikbaustein Verständnisfrage (Zahl zw. min/max)
-
Servus Alle!
Logikbaustein
Ich möchte gerne prüfen ob ein Wert zwischen ">=0" und "<=100" ist.In diesem Baustein stehen mir aber auf jeder Seite nur ">=" zur Verfügung.
Auf Grund meines Nichtverständnis habe ich es so gelöst.
Kann mir bitte jemand sagen wie dieser Logikbaustein richtig befüllt wird?
LG, mxa
-
Der Block ist für 1 Variable und 2 Konstanten gedacht.
Damit kannst Du prüfen, ob eine Variable ("eigenverbauch") zwischen 0 und 100 (oder halt anderer Grenzen) liegt.
Dafür braucht es lediglich "<". Selbst das "<=" ist eigentlich schon unnötig.Das Minimum (hier 0) ist kleiner als die Variable. Diese ist wiederum kleiner als das Maximum (hier 100).
Der Wert liegt also zwischen Minimum und Maximum.Im Javascript wird das übrigens zu:
if (0 < eigenverbrauch && eigenverbrauch < 100) { }
-
Ich möchte gerne prüfen ob ein Wert zwischen ">=0" und "<=100" ist.
@metaxa Das ist doch genau das, was Du abfragst!
Ob Du nun 0 <= 42 abfragst, oder 42 >= 0, das Ergebnis ist in beiden Fällen ein "wahr"...
-
@codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
Damit kannst Du prüfen, ob eine Variable ("eigenverbauch") zwischen 0 und 100 (oder halt anderer Grenzen) liegt.
klar, Aber ob jetzt Variable oder eine Zahl zur Verdeutlichung, deswegen
@codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
Selbst das "<=" ist eigentlich schon unnötig.
kann doch auch ein gleich geprüft werden sollen
-
@homoran sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
kann doch auch ein gleich geprüft werden sollen
Dann liegt der Wert aber nicht "dazwischen".
Deswegen ja auch mein einschränkendes "eigentlich". In Einzelfällen kann das sicher auch mal nötig sein.Ich hoffe aber, dass dem TE nun die Anwendung und Logik klarer geworden sind.
-
@codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
Dann liegt der Wert aber nicht "dazwischen".
ok!
Das ist natürlich (über)korrekt -
@homoran
Manchmal bin ich auch Erbsenzähler -
@codierknecht & @MartinP & @Homoran 'kopfkratz'
Lieben Dank für die Erklärungen und ja, ein wenig Klarer
Ihr habt natürlich völlig recht, mich irretiert nur das fehlende "="
Blockly als Code:
-
@metaxa ich weiss nicht ob die korrekte Aussage von @Codierknecht auch beabsichtigt ist.
Ich fände es sinnvoller wenn die Beschreibung nicht "zwischen" sondern "in den Grenzen von" lauten würde und damit auch <= und >= verfügbar wären. -
So funktioniert es eben nichtDeswegen intuitiv auch "<=".
-
-
@codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?
-
@codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
@homoran
Manchmal bin ich auch Erbsenzähler -
-
@homoran sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
@codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?
Das "zwischen" ist tatsächlich Definitionssache.
"In den Grenzen von" trifft's da vielleicht wirklich besser. -
@metaxa diese Schreibweise ist die Kombination auch "<="
Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.
Auch, wenn man links einen größeren Wert als rechts eingibt, ändert sich die beschränkte Auswahl nicht entsprechend ...
-
@martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.
jepp!
Das ist anscheinend der Punkt -
@martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.
Was eigentlich auch ziemlich logisch erscheint
OK - außer vielleicht in Sprachen, die von rechts nach links lesen.Es gibt ja auch Leute, die Formulieren ein
if
so:if (42 == var)
Also ob ein Wert der Variablen entspricht.
Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:
if (var == 42)
Ich persönlich finde die erste Variante ein wenig seltsam.
Aber auch das ist Geschmacksache. -
@codierknecht ich hab da mal was vorbereitet
hab's erstmal wieder deaktiviert
-
@codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):
Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:
if (var == 42)Ich persönlich finde die erste Variante ein wenig seltsam.
Aber auch das ist Geschmacksache.Perfekt! Genau da lag mein Unverständnis!
Lieben Dank für diese spontane und rege Debatte!!!
mxa