Oleh : Abah Razi
بسم الله الرحمن الرحيم
Jika PHP menghadapi suatu angka yang ada di luar batas tipe integer, dia akan diinterpretasi sebagai suatu float. Begitu pula, sebuah operasi yang menghasilkan nilai diluar batas tipe integer akan menghasilkan float pula
Contoh : Overflow Integer di sistem 32 bit
<?php $large_number = 2147483647; var_dump($large_number); // int(2147483647) $large_number = 2147483648; var_dump($large_number); // float(2147483648) $million = 1000000; $large_number = 50000 * $million; var_dump($large_number); // float(50000000000) ?>
Contoh : Overflow integer di sistem 64 bit
<?php $large_number = 9223372036854775807; var_dump($large_number); // int(9223372036854775807) $large_number = 9223372036854775808; var_dump($large_number); // float(9.2233720368548E+18) $million = 1000000; $large_number = 50000000000000 * $million; var_dump($large_number); // float(5.0E+19) ?>
Tidak ada operator pembagian integer di PHP. 1/2 menghasilkan float 0.5. Nilai dapat dicast ke suatu integer dengan membulatkannya ke bawah, atau dengan menggunakan fungsi round()
seperti tampak pada contoh berikut :
<?php var_dump(25/7); // float(3.5714285714286) var_dump((int) (25/7)); // int(3) var_dump(round(25/7)); // float(4) ?>
Leave a Reply