
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
01 02 03 04 05 06 07 08 09 10 11 | <?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
01 02 03 04 05 06 07 08 09 10 11 | <?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 :
1 2 3 4 5 | <?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