Kommastelle nicht o.k.?

Hallo
Die Kommastelle stimmt in der Variable nicht.
Beim auslesen in ein Array stimmt der Wert z.b. von 18,9 °C.
Aber in der Variable wird der Wert mit 189,0°C. eingetragen.
Die Variable hat das IPS Profil Temperature.
Der Variablentyp ist Float.

Woran könnte das liegen?

wird der Wert vom Array direkt in die Variable geschrieben oder multiplizierst Du noch irgendwo mit 10.
Ansonsten caste mal nach float. (float)
Script?

Ich multipliziere nicht mit 10.
Unter Float finden ich nicht das richtige!:confused:
Wenn ich zur der falschen Variable noch ein Ergeignis hinzufüge,
wie z.B. bei Variablenaktualisierung dann dividiere /10
folgt eine 0.

entschuldige mal: wie soll man Dir helfen, wenn Du nicht in der Lage bist, ein Minimum an qualifizierten Rahmenbedingungen zu liefern? Rainer hat nicht umsonst nach dem Script gefragt…:rolleyes:

Im Script geht es z.b. um Temp_innen Variablen ID 30607.
Unten im Array steht 19,1°C.
In der Objektansicht Variable 30607 = 191,0°C.

caste mal nach float.
Damit meinte ich, Du sollst den Wert explizit nach float casten.

SetValue(xxxxx, (float)$wert);

Wenn ich mich nich irre, hatten wir das gleiche doch schon mal. Änder den Punkt in ein Komma.

str_replace(".",  ",",  $wert)

Hi

Dein Problem ist vermutlich das Komma, das eventuell irgendwo falsch interpretiert wird. Dezimal Trennzeichen ist per Default der ‚.‘

Kleiner Test dazu:


echo (float)'18.9'.PHP_EOL;
echo (float)'18,9'.PHP_EOL;

//Mögliche Lösung 	
echo (float)str_replace(',','.','18,9').PHP_EOL;

wusst ichs doch.

Danke Rainer
Ich hatte Floatvar. aber es mußten String sein!

-Muss ich jetzt aber nicht verstehen.

Da ich ja aus einer Nexus.db die Daten durch Excel in eine Nexus.txt
umschreibe, sind das doch dann Stringdaten, oder?

Auf jeden Fall läuft es nun.

Nö, Du wandelst doch in ein Array um. Ein Temperaturwert ist normal ein Floatwert.

Lies dir den Link von mir mal durch, da steht es drinnen. Außerdem hat es Andreas auch noch mal gezeigt.

Ja Rainer (Andreas)Ihr habt recht, der Punkt muß in ein Komma umgewandelt werden.

Parse error: syntax error, unexpected ‚SetValue‘ (T_STRING) in [Wetter\Nexus\Nexus2] on line 23
Diese Medlung kommt nun wenn ich vorher umwandle.

Aber man lernt so am besten:)