Rechenoperationen mit String

Hallo,

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

$Zahl1 = (utf8_decode($current->windSpeed));
$text7 = $Zahl1*3.6 . "
";
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

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

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:

$Zahl1 = floatval($current->windSpeed);
$text7 = $Zahl1*3.6;
echo $text7;
echo $Zahl1;

Vielen Dank, Ihr beiden.

Mit floatval funktioniert es prima.

$text7 = floatval($current->windSpeed)*3.6 . "
";

Viele Grüße…!