phpbar.de logo

Mailinglisten-Archive

[php] setlocale() und cast to float

[php] setlocale() und cast to float

Sebastian Tobias Mendel genannt Mendelsohn lists at sebastianmendel.de
Die Nov 25 14:13:42 CET 2003


Hi,

da ich ja normalerweiße möchte das die Darstellung von 
Zahlen/Zeiten/Datum usw auf 'deutsch' ist habe ich eigentlich bisher immer

   setlocale(LC_ALL, '...');

verwendet,

allerdings ist mir unklar warum php dieses ebenfalls bei unformatierter 
Ausgabe macht, z.b. mit echo, oder zuweisen zu einem string

dies bereitet mir besonders in Verbindung mit MySQL probleme!

z.b.:

   // $_REQUEST['price'] = '3.11'
   $sql = 'INSERT INTO `t` SET `r` = ' . (float) $_REQUEST['price'];

ergibt:

   INSERT INTO `t` SET `r` = 3,11;

was MySQL natürlich anmeckert.



zur erläuterung

   echo (float) 3.11 // 3.11

nach einem

   setlocale (LC_ALL, 'de_DE at euro', 'de_DE', 'de', 'ge');

ergibt sich plötzlich:

   echo (float) 3.11 // 3,11

ist dies nun ein Fehler von php oder ist es gewollt? und wie geht ihr 
damit um?

-- 
Sebastian Mendel (www.sebastianmendel.de)

*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com

php::bar PHP Wiki   -   Listenarchive