PHP + Float + locale

Hozzászólások

Én a tagolást csak megjelenítésre használom.
(Szerencsére). :)

Haha! Ismerős sztori. Belekerült némi időmbe, míg rájöttem, hogy az awesome ablakkezelő miért nem akarja kiírni az értékeket (foglaltság, cpu meg ilyenek) - ui. a programok legnagyobb része fütyül a nyelvi beállításokra és tizedeselválasztóra mindig tizedespontot használ. Míg ha a lua-ban állítom el a nyelvi beállítást (inkább "péntek"-et szeretnék látni, mint "friday"-t), akkor a pont karakter értelmezhetetlen számmá való alakításkor :)

Eljenek a gyengen tipusos nyelvek! Megkonnyitik az eletet...oh, wait.

Nem ott van a probléma, hanem ott, hogy gyakorlatilag előbb-utóbb mindenből string lesz és hülye módon.

.NET is pl. eléggé épít locale-ra, ha hu_HU locale mellett egy (1.2).ToString() -re "1,2"-t fog kiírni, csak épp nem jelent problémát, mert ahol kell, ott floatként fog átadódni.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

És ez ráadásul fel is vet problémákat. Pl. az egyik progimban van egy olyan lehetőség, hogy függvényt ad át a user, azt meg átadom a mysql-nek. A bemenetet szűrom, ezért minden lehetséges kombinációt megvizsgálok, hogy szerepelhet-e az adott szó (mindegyik) a kifejezésben, egy tömbben tárolva az összes függvény nevet stb. Elég komplex a vizsgáló rész.

A lényeg, hogy ha meg akarom engedni locale-tól függően, hogy vesszőt is használhasson a user tizedes pontnak, akkor már sajnos túl lassú lenne ez a rész a progimban, és ezért nem engedem. Lásd ezt a példát:

pow(2,3,5) - nyilván ez ponttal így lenne, mivel 2 paramétere van a pow-nak: pow(2,3.5) - vagyis míg utóbbiból egyértelműen látszik, hogy a 2 számnál az utóbbi egy tört és a vessző az paraméter elválasztóként funkciónál, az első verzió vizsgálata túl komplexszé és lassúvá tenné a dolgot tesztjeim alapján.

(Nyilván megoldható lenne, de most csak az "egyszerűnek tűnő probléma vs. mégsem az" jelleget akartam mutatni).

Status: Not a bug

Érdekes...

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Mert alacsony a kerítés és sokan abban kezdenek el fejleszteni, mert csak ezt látták. És mert állítólag sokan vannak hozzá meg ilyenek.

Ez pont egy örökölt rendszer.

Viszont ha valaki még egyszer azzal jön nekem, hogy könnyű PHP-hez programozót találni, azt képen törlöm egy "PHP24 óra alatt"-tal...

Amit viszont itthon biztos, hogy nem vállalnék be az a Python, Ruby, Node.JS vagy bármi ilyesmi. .NET vagy Java hamarabb lenne, még mindig több ember foglalkozik azzal, mint az előbbiekkel.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™