Berechnungen in einem Script
Moderator: Co-Administratoren
Berechnungen in einem Script
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);
folgendes Script gibt kosten = 0 aus; Warum ???????
var Preis = 0.3567;
var verbrauch = 5000;
var kosten = (verbrauch * Preis);
WriteLine(kosten);
- Baxxy
- Beiträge: 11029
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 631 Mal
- Danksagung erhalten: 2285 Mal
Re: Berechnungen in einem Script
Dreh den Spieß einfach um.
Code: Alles auswählen
var kosten = Preis * verbrauch;
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- 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
Code: Alles auswählen
var Preis = 0.3567;
var verbrauch = 5000;
var kosten = (verbrauch * Preis);
WriteLine(kosten);
var kosten2 = (Preis * verbrauch);
WriteLine (kosten2);
Offensichtlich bestimmt der linke dann den Ergebnistyp, hier dann real.
Erklärung hat offentlich noch jemand
-
- 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
Hier ein Auszug aus der Skript Doku : viewtopic.php?f=26&t=81273&start=10#p791971
Gruß
Harry
Harry
-
- 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
Du kannst aber auch verbrauch als real festlegen
Oder in real umwandeln
Code: Alles auswählen
real verbrauch = 5000.0;
Code: Alles auswählen
kosten = verbrauch.ToFloat() * Preis;
-
- 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
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 +++
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 +++
-
- 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
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.
-
- 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
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.