Xét câu lệnh sau:
| Mã lệnh (PHP) |
printf ("(9.95 * 100) = %d \n", (9.95 * 100)); |
Kết quả không phải là 995 như bạn nghĩ, mà là 994. Lí do là kí hiệu %d sẽ chuyển số thực sang số nguyên bằng cách cắt lấy phần nguyên, mà số thực lại được biểu diễn với một sự sai số làm tròn rất nhỏ.
Hãy cẩn thận, các số integer không thể nhận các giá trị lớn:
| Mã lệnh (PHP) |
printf("%d",10023123553.45634663); |
Kết quả sẽ là 1433188961
Còn câu lệnh
| Mã lệnh (PHP) |
printf("%.0f",10023123553.45634663); |
sẽ cho kết quả 10023123553