[support] is_float...

MG makgab at freemail.hu
2009. Feb. 19., Cs, 13:53:37 CET


Kókai László <zila at koolin.hu>:
 > Ha olvasgatnád végre a php manualt...

Olvasom.

 > is_float(floatval($form_state['values']['mezoneve']))
 >
 > var_dump(is_float('12.5'));
 > bool(false)
 > var_dump(is_float(floatval('12.5')));
 > bool(true)
 >

Igen, ezzel az volt a baj, hogy a

is_float(floatval($form_state['values']['mezoneve']))

mindig igaz lesz, mivel a floatval függvény átkonvertálja a 
megadott változó értékét float-ra. Tehát az is_float mindig 
igazat fog adni (kivéve egy esetet). Így tehát ez nem jó.

Azt tudtam csinálni, hogy:

if ( floatval($form_state['values']['mezoneve']) ) { ...

Így (majdnem) mindig float érték jön vissza, pl.:
input:       floatval (numeric(9,2)):
15           15.00
15.25        15.25
15akarmi     15.00
akarmi       /* hiba */

Tehát ez sem tökéletes megoldás, mert ha betüt és számot ir a 
user, akkor a floatval a számértékkel tér vissza - a betüket 
levágja. Ha csak betüket ir a user, akkor hibát ad.


G.




További információk a(z) support levelezőlistáról