ID: 13550 Updated by: manuel Reported By: [EMAIL PROTECTED] Old Status: Bogus Status: Open Bug Type: *Programming Data Structures Operating System: Linux 2.2.18 PHP Version: 4.0.6 New Comment:
The bug is real. Try it on the mentioned OS with glibc version mentioned in the report to see it. Previous Comments: ------------------------------------------------------------------------ [2001-10-05 08:30:42] [EMAIL PROTECTED] Except that it doesn't, here and in many other users machines it prints: int(2) float(100) string(4) "8.78" float(8.78) float(878) int(877) int(878) glibc rpm version is 2.2-7. ------------------------------------------------------------------------ [2001-10-05 03:58:28] [EMAIL PROTECTED] 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? ------------------------------------------------------------------------ [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]