ID: 27433 Updated by: [EMAIL PROTECTED] Reported By: ghetalion at ghetalion dot com Status: Open Bug Type: Variables related Operating System: Linux PHP Version: 4.3.4 New Comment:
If it's not clear already, if you remove the (int) cast, you get float(3); if the cast is there, it's int(2). This may be some sort of obscure floating point rounding error. Previous Comments: ------------------------------------------------------------------------ [2004-02-28 21:43:11] ghetalion at ghetalion dot com Set this into the function when declaring it: TimeToText(1072224000); And you will get the expected/actual result I defined. ------------------------------------------------------------------------ [2004-02-28 21:39:51] ghetalion at ghetalion dot com Description: ------------ When attempting to take a float variable and typecasting it into an int, I receive a magnificent error that is unexplainable. Reproduce code: --------------- function TimeToText($timestamp) { $day = strftime("%d", $timestamp); $factor = $day/10; $factor = (int)(($factor- ((int)($factor)))*10); var_dump($factor); } Expected result: ---------------- int(3) Actual result: -------------- int(2) Instead of truncating all decimal places, converting a float into an int is changing the entire whole-number value! ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27433&edit=1