NEWS
If Then mehrfach [gelöst]
-
@bahnuhr sagte in If Then mehrfach [gelöst]:
Was machst du wenn der Wind = 20 ist.
Dann läuft das Script ins Leere.Das Problem hast du aber immer noch.
-
@ceng Die Abfrage kann vereinfacht werden, da nur eine Variable gesetzt wird, die beliebig oft überschrieben werden kann.
var Beaufort = 'Windstill'; if (1 < windspeedakt) Beaufort = 'leiser Zug'; if (6 < windspeedakt) Beaufort = 'leichte Briese'; if (12 < windspeedakt) Beaufort = 'schwacher Wind'; if (20 < windspeedakt) Beaufort = 'mäßiger Wind'; if (29 < windspeedakt) Beaufort = 'frischer Wind'; if (39 < windspeedakt) Beaufort = 'starker Wind'; if (50 < windspeedakt) Beaufort = 'steifer Wind'; if (62 < windspeedakt) Beaufort = 'stürmischer Wind'; if (75 < windspeedakt) Beaufort = 'Sturm'; if (89 < windspeedakt) Beaufort = 'schwerer Sturm'; if (103 < windspeedakt) Beaufort = 'orkanartiger Sturm'; if (windspeedakt > 118) Beaufort = 'Orkan';
-
Paul,
die Werte passen aber nicht zu den Werten vom TE.Bei 5 wollte er z.B. "leiser Zug"; bei dir steht jetzt "leichte Briese"
Aber egal, muss er halt anpassen so wie er es will.
mfg
-
-
TE:
if (0 < windspeedakt && windspeedakt < 1) {var Beaufort='Windstill';} if (1 < windspeedakt && windspeedakt < 6) {var Beaufort='leiser Zug';} if (6 < windspeedakt && windspeedakt < 12) {var Beaufort='leichte Briese';}
Paul:
if (1 < windspeedakt) Beaufort = 'leiser Zug'; if (6 < windspeedakt) Beaufort = 'leichte Briese'; if (12 < windspeedakt) Beaufort = 'schwacher Wind';
Bei Wert 5 ergibt oben was anderes als unten.
Oder lese ich falsch.
Ist aber auch nicht schlimm, kann er ja ändern. -
@bahnuhr sagte:
Bei Wert 5 ergibt oben was anderes als unten.
Wirklich ? Wert 5 ergibt in beiden Fällen "leiser Zug".
-
@paul53 sagte in If Then mehrfach [gelöst]:
Wirklich ? Wert 5 ergibt in beiden Fällen "leiser Zug".
Ok, hast recht. Hab falsch gelesen.
Entschuldigung. -
Wäre ein "switch - case" nicht die bessere Wahl?
So in der Art:
switch (windspeedakt) { case < 6: Beaufort = 'leichte Briese; break; case <12: Beaufort = 'schwacher Wind'; break; ... default: Beaufort = "irgendwas".; break;
-
case funktioniert auch.
Aber vielleicht könnte mal ein Experte sagen, ob es da eine bessere Methode gibt.
Für mich hätte "if", "else if" oder case den gleichen Effekt.
Gibts da eine Auswahl "was ist besser ?" -
@bahnuhr sagte in If Then mehrfach [gelöst]:
case funktioniert auch.
Aber vielleicht könnte mal ein Experte sagen, ob es da eine bessere Methode gibt.
Für mich hätte "if", "else if" oder case den gleichen Effekt.
Gibts da eine Auswahl "was ist besser ?""Switch - Case" ist in der Ausführung schneller, meinte ich mal gehört zu haben. Das liegt wohl daran, dass der Compiler beim Kompilieren den Code effizienter gestalten kann.
Alternative wäre noch eine LookUp-Table, aber das funktioniert meines Wissens nicht mit Vergleichsoperatoren <, > sondern nur mit ===.