<?php
$teszt= 3.99999999999;
$tipusvaltozas = (integer)$teszt;
print("Általunk megadott érték double: ".$teszt."<br>");
print("Típusváltozás után integer lesz: ".$tipusvaltozas);
?>
|
Programunk eredménye: Általunk megadott érték double: 3.99999999999 Típusváltozás után integer lesz: 3 |
<?php $valtozo = 10; // $valtozo most szám típusú. $tipusa = (boolean) $valtozo; // $tipusa logikai típusú. print("Program szerint, ezt adtuk meg: ".$valtozo."<br />"); print("Típusváltozás után <b>logikai</b> lesz: ".$tipusa."<br />"); ?> |
Programunk eredménye: Program szerint, ezt adtuk meg: 10 Típusváltozás után logikai lesz: 1 |
Mire jó az integer?
Ha egy programművelet után, akármilyen érték is lesz, azaz tizedes számjegyeket is tartalmazhat, akkor is egészszámmal kel folytatni a további műveleteket.
Mielőtt saját kezűleg írjuk be az értéket, győződjünk meg egy kis programmal, hogy hány számjegyet kezel programunk.
Legegyszerűbb megoldás, ha 22-őt elosszuk 7-el, ekkor végtelen sok számot kellene kapnunk.
De a program csak egy meghatározott hosszúságú számsort fog kiírni.
Az így kapott számsorból, beleértve a tizedes és egészszámokat is, megszámolhatjuk, hogy saját kezűleg mi az a számmennyiség ami után, már nincs értelme többet beírni.
Az (integer) nem kerekít, egyszerűen a tizedes számjegyeket levágja, és csak az egész számot írja ki.
<?php echo "Példa: 12 - számjegyig:"; $teszt_a= 8.99999999999; $ertek_a = (integer)$teszt_a; print("Általunk megadott érték double: 8.99999999999 <br />"); print("Program szerint, ezt adtuk meg: ".$teszt_a."<br />"); print("Típusváltozás után integer lesz: ".$ertek_a."<br />"); |
Programunk eredménye: Példa: 12 - számjegyig: Általunk megadott érték double: 8.99999999999Program szerint, ezt adtuk meg: 8.99999999999 Típusváltozás után integer lesz: 8 --------------------------------------------------------- Általunk megadott érték double: 3.99999999999 Program szerint, ezt adtuk meg: 3.99999999999 Típusváltozás után integer lesz: 3
13. számjegytől, már nem tökéletes: Általunk megadott érték double: 8.999999999999Program szerint, ezt adtuk meg: 8.999999999999 Típusváltozás után integer lesz: 8 --------------------------------------------------------- Általunk megadott érték double: 3.999999999999 Program szerint, ezt adtuk meg: 3.999999999999 Típusváltozás után integer lesz: 3
Nézzünk egy program által elvégzett műveletet, melynek értéke valójában végtelen. Programunknak, 22-őt kell elosztani 7-el. 22 / 7 = 3.1428571428571Megszámolhatjuk, hogy programunk, mennyi számértéket ír ki, az eredménynél! Típusváltozás után integer lesz: 3
|
Programunk hány darab számértékkel dolgozik, az alapbeállítástól függ. Ebből adódik, hogy más-más szerveren eltérések lehetnek. Alapértelmezett beállításnál 12 számjegy az elfogadott.