phpbar.de logo

Mailinglisten-Archive

[php] flaot-Werte im Query und set_locale() auf de

[php] flaot-Werte im Query und set_locale() auf de

Sebastian Mendel lists at sebastianmendel.de
Don Feb 17 17:13:37 CET 2005


Hi,

ich hatte vor längerer Zeit mal empfohlen float-Werte mittels '(string) 
(float) $val' zu validieren, vor allem wenn man set_locale( 'de' ) 
verwendet, einige andere machen das wohl auch so oder so ähnlich (glaube 
mich dunkel zu erinnern das in irgendeiner Mail gesehen zu haben)

das Problem ist nun das zumindest mit meinem PHP 4.3.10 das nicht mehr 
zu funktionieren scheint:


$number = 8.8;

echo $number;
echo (float) $number;
echo (string) (float) $number;
echo floatval( $number );

liefert mit set_locale( 'de' ) alles: 8,8

was natürlich in einem Query zu Fehlern führt

die einzige Möglichkeit die ich bisher gefunden habe float-Werte sicher 
zu überprüfen und wenn sie vom Typ float sind sogar die einzige 
Möglichkeit um sie überhaupt in einem Query zu verwenden ist:

echo number_format( $number, 2, '.', '' );

der Nachteil dabei ist allerdings das man hier immer die Anzahl der 
Nachkommastellen wissen/angeben muss!


Hat noch jemand anderes damit Erfahrungen? Habe ich etwas übersehen?


-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive