Berechnungen in einem Script

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
rainero
Beiträge: 6
Registriert: 09.11.2014, 19:24

Berechnungen in einem Script

Beitrag von rainero » 12.01.2024, 13:08

Ich stehe gerade auf dem Schlauch?????

folgendes Script gibt kosten = 0 aus; Warum ???????

var Preis = 0.3567;
var verbrauch = 5000;
var kosten = (verbrauch * Preis);

WriteLine(kosten);


Dennis-HM
Beiträge: 261
Registriert: 19.02.2023, 18:40
System: CCU
Hat sich bedankt: 17 Mal
Danksagung erhalten: 23 Mal

Re: Berechnungen in einem Script

Beitrag von Dennis-HM » 12.01.2024, 13:14

Code: Alles auswählen

var Preis = 0.3567;
var verbrauch = 5000;
var kosten = (verbrauch * Preis);

WriteLine(kosten);

var kosten2 = (Preis * verbrauch);

WriteLine (kosten2);
Faktoren tauschen.

Offensichtlich bestimmt der linke dann den Ergebnistyp, hier dann real.

Erklärung hat offentlich noch jemand ;-)

Tyfys
Beiträge: 583
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 138 Mal

Re: Berechnungen in einem Script

Beitrag von Tyfys » 12.01.2024, 13:45

Dennis-HM hat geschrieben:
12.01.2024, 13:14
Erklärung hat offentlich noch jemand
Hier ein Auszug aus der Skript Doku : viewtopic.php?f=26&t=81273&start=10#p791971
Gruß
Harry

Matsch
Beiträge: 5558
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 120 Mal
Danksagung erhalten: 763 Mal

Re: Berechnungen in einem Script

Beitrag von Matsch » 12.01.2024, 14:08

Du kannst aber auch verbrauch als real festlegen

Code: Alles auswählen

real verbrauch = 5000.0;
Oder in real umwandeln

Code: Alles auswählen

 kosten = verbrauch.ToFloat() * Preis; 

MichaelN
Beiträge: 9807
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 711 Mal
Danksagung erhalten: 1656 Mal

Re: Berechnungen in einem Script

Beitrag von MichaelN » 12.01.2024, 14:36

Rechenregel Ist von rechts nach links für HM Skript
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Homeberry
Beiträge: 174
Registriert: 22.10.2015, 19:45
Hat sich bedankt: 1 Mal
Danksagung erhalten: 7 Mal

Re: Berechnungen in einem Script

Beitrag von Homeberry » 14.01.2024, 15:49

Alles nur noch als var zu bezeichnen wird auch in anderen Sprachen zum Teil als Unsitte bezeichnet.
Warum? Sieht man hier ;-)

Matsch
Beiträge: 5558
Registriert: 30.05.2019, 11:37
System: Alternative CCU (auf Basis OCCU)
Wohnort: Chemnitz
Hat sich bedankt: 120 Mal
Danksagung erhalten: 763 Mal

Re: Berechnungen in einem Script

Beitrag von Matsch » 14.01.2024, 16:10

Unsitte ist es vor allem, wenn ein Interpreter sich nicht darum schert, ob da var, real, integer oder String steht und den Typ nach eigenem Gutdünken beliebig selbst festlegt oder ändert. Das hat Seltenheitswert.
Zuletzt geändert von Matsch am 15.01.2024, 14:09, insgesamt 1-mal geändert.

alchy
Beiträge: 10761
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: Berechnungen in einem Script

Beitrag von alchy » 14.01.2024, 16:26

Homeberry hat geschrieben:
14.01.2024, 15:49
Alles nur noch als var zu bezeichnen wird auch in anderen Sprachen zum Teil als Unsitte bezeichnet.
Warum? Sieht man hier ;-)
WO sieht man das ?

Als was du das ganze deklariert ist völlig uninteressant, weil HM IMMER selber entscheidet welchen Typ du da benutzt.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „HomeMatic allgemein“