+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Nov 2016
    Beiträge
    206

    Standard Rechenoperationen mit String

    Hallo,

    für die Profis mag das eine vollkommen blöde Frage sein, ich komme aber momentan nicht weiter:

    PHP-Code:
    $Zahl1 = (utf8_decode($current->windSpeed));
    $text7 $Zahl1*3.6 "\n";
    echo 
    "$text7";
    echo 
    "$Zahl1"
    ergibt die Ausgabe

    Notice: A non well formed numeric value encountered in /var/lib/symcon/scripts/43966.ips.php on line 1

    Notice: A non well formed numeric value encountered in /var/lib/symcon/scripts/43966.ips.php on line 2
    10,8
    3,07
    Erstens würde ich gerne die Meldung vermeiden, zweitens verstehe ich nicht, dass warum 10,8 das Ergbenis von 3,07*3.6 sein soll.

    Könnt Ihr mir bitte auf die Sprünge helfen?

    Vielen Dank und Grüße

    Götz

  2. #2
    Registriert seit
    Jul 2011
    Ort
    Wiesbaden
    Beiträge
    402

    Du musst die Text-Variable in ein Float übersetzen und dabei auf den Unterschied zwischen Komma und Punkt als Trennzeichen beachten
    Aktuell wird 3* 3.6 gerechnet
    IP-Symcon 5.0 auf Raspberry PI / Windows / Docker / Synology (Docker)
    Homematic CCU2, Wago und Mikrocontroller

  3. #3
    Registriert seit
    Oct 2010
    Ort
    Paderborn
    Beiträge
    2,075

    In $Zahl1 steht bei dir ein String "3,07".

    somit rechnest du

    $text7 = "3,07" * 3.6;

    PHP mag aber nur '.' als Dezimaltrennzeichen. Somit musst du den String erst in einen Float umwandeln.

    Versuche es mal mit:

    PHP-Code:
    $Zahl1 floatval($current->windSpeed);
    $text7 $Zahl1*3.6;
    echo 
    $text7;
    echo 
    $Zahl1
    HM per RaspberryMatic | EKM-868 | LGS-868 | 1 Wire | Fibaro Motion Sensor & Aeon Labs Z-Stick S2 | SONOS | Denon AVR 3312 | Vu+ Ultimo 4K | Sony KD-75XE9405 | Fritzbox 6360 | Koubachi | AXIS 1344-E | Echo Dot + Show | Intel NUC i3 | IPS V5.1 Beta

  4. #4
    Registriert seit
    Nov 2016
    Beiträge
    206

    Vielen Dank, Ihr beiden.

    Mit floatval funktioniert es prima.

    PHP-Code:
    $text7 floatval($current->windSpeed)*3.6 "\n"
    Viele Grüße...!

Ähnliche Themen

  1. 30 Zeichen String Auslesen und auf x String Variablen aufsplitten
    Von Mahlsdorfer im Forum Skripte, PHP, SQL
    Antworten: 3
    Letzter Beitrag: 11.01.18, 08:50
  2. Problem mit String Variable Logging
    Von croostmx im Forum WebFront
    Antworten: 3
    Letzter Beitrag: 11.04.17, 22:20
  3. Hex in String mit Leerzeichen getrennt
    Von jwka im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 21.05.11, 18:21
  4. String-Variable mit geloggten Daten füllen
    Von Galaktika im Forum Skripte, PHP, SQL
    Antworten: 6
    Letzter Beitrag: 29.10.10, 17:23