From: ghetalion at ghetalion dot com
Operating system: Linux
PHP version: 4.3.4
PHP Bug Type: Variables related
Bug description: (float) to (int) error
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 bug report at http://bugs.php.net/?id=27433&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=27433&r=trysnapshot4
Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=27433&r=trysnapshot5
Fixed in CVS: http://bugs.php.net/fix.php?id=27433&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=27433&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=27433&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=27433&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=27433&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=27433&r=support
Expected behavior: http://bugs.php.net/fix.php?id=27433&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=27433&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=27433&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=27433&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=27433&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=27433&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=27433&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=27433&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=27433&r=float