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

Reply via email to