Fehler bei Auslesen von Float Variabeln

Wenn ich z.B. eine Float Variable auslese von einer Wetterstation dann spuckt Windows IPS 3.4 das aus:

$test=getvalue(1234);
print $test;

56.3

bei der Mac Version spuckt er das aus ;

$test=getvalue(1234);
print $test;

[b]56,3[/b]

Warum spuckt IPS Mac statt einen Punk ein Komma aus ?

Ja, diese Beiträge sind selten gern gesehen…aber leider kann ich nichts genaues sagen > nur, dass es das Thema schon gab. Nur wo, das weiß ich leider nicht mehr.

Ging es da um die LOCALE !?

Grüße,
Chris

Bin jetzt nicht begeistert von dem Problem :stuck_out_tongue:

Anscheinend hat also der Fix, der die Darstellung von GetValueFormatted korrigiert den Nebeneffekt, dass PHP sich auch an die Systemlokalisierung hält. Prinzipiell wäre das auch korrekt und ich finde, dass dies eher ein Bug der 3.4er Version ist.

Nur leider werden viele 3.4er User Skripte haben, die genau diesen Punkt vermutlich ausnutzen…
Ich füge den Fehler in die Liste hinzu. Weiß aber noch nicht so Recht, wie ich das jetzt gut löse.

Als schnellen Workaround kannst du dein System auf eine Spracheinstellung setzen, die den Punkt als Dezimaltrenner hat… oder in PHP nach dem Start setlocale aufrufen, und die Lokalisierung umstellen.

paresy

Ich werde dieses Problem in der 3.4 nicht mehr fixen, und in der 4.0 das aktuelle Verhalten so belassen.
Ich finde es korrekt, dass PHP sich an die lokalen Einstellungen hält. Diese hätte IP-Symcon schon immer tun sollen.

Ich hab diesen Umstand in die Migration an erster Stelle hinzugefügt.

paresy