ID: 13550
Updated by: rasmus
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Bogus
Bug Type: *Programming Data Structures
Operating System: Linux 2.2.18
PHP Version: 4.0.6
New Comment:

Could you be a little less cryptic please?  I would expect this to print:
int 2
float 100
string '8.78'
float 8.78
float 878
int 878
int 878
Which is exactly what I am seeing.  $scaled = 8.78 * 100.0 which gives a double value 
of 878.00 therefore round(878.00) would be 878 and intval(878) is 878.  What exactly 
are you expecting to be different here?

Previous Comments:
------------------------------------------------------------------------

[2001-10-04 19:08:52] [EMAIL PROTECTED]

It seems that intval does not round off double numbers like the function that prints 
those numbers. Try this script to see the problem.

<?
        $decimal_places=2;
        $decimal_factor=pow(10.0,$decimal_places);
        $value='8.78';
        $double=doubleval($value);
        $scaled=$double*$decimal_factor;
        $integer=intval($scaled);
        $round=intval(round($scaled));
        
var_dump($decimal_places,$decimal_factor,$value,$double,$scaled,$integer,$round);
?>

------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=13550&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to