PHP kézikönyv
Előző
7.
Fejezet.
Típusok
Következő
A lebegőpontos számok ("float", "valós szám") az alábbi szintaxisok bármelyikével hozhatóak létre:
$a = 1.234; $a = 1.2e3; $a = 7E-10;
Lebegőpontos számok pontossága
Elég gyakran előfordul, hogy egyszerű decimális törtek, mint a 0.1 és a 0.7 nem konvertálhatóak pontosan bináris megfelelőikre kis veszteség nélkül.
Ez zavaró eredményekhez vezethet, például floor( (0.1+0.7)*10) tipikusan 7 értékkel tér vissza, az elvárt 8 helyett, a belső ábrázolás miatt, ami valójában 7.9999999999....
Ez azzal a ténnyel van kapcsolatban, hogy lehetetlen megjeleníteni néhány törtet véges számú decimálisan számjeggyel.
Például 1 / 3 decimálisan 0.3333333... értékké válik.
Ezért soha ne bízz meg a törtszámok eredményeiben az utolsó jegyig, és soha se hasoníts össze két lebegőpontos számot pontos egyenlőségre.
Ha nagyobb pontosságú számokra van szükséges, használd a tetszőleges pontosságú matematikai függvényeket vagy a gmp függvényeket.
Előző
Tartalom
Következő
Egész számok
Fel
Stringek