PHP 4.0 Bug #9411 Updated: Arithmetic error

From: Date: Thu, 22 Feb 2001 21:07:38 +0000
Subject: PHP 4.0 Bug #9411 Updated: Arithmetic error
Groups: php.dev 
Request: Send a blank email to php-dev+get-47287@lists.php.net to get a copy of this message
ID: 9411 Updated by: lyric Reported By: robburne@hotmail.com Old-Status: Closed Status: Bogus Old-Bug Type: *Regular Expressions Bug Type: Math related Assigned To: Comments: This is nothing to do with PHP, its just part of the way computers store floating-point numbers. It stores an aproximation of 0.32, as close as it can get, but when you start multiplying it, the little difference between 0.32 and what it stored starts to get magnified. BTW, 5.5511151231258E-17 is 0.000000000000000055511151231258 which is *really* closed to 0. If you want to output formatted numbers, you should either round it, or use printf() http://www.php.net/manual/en/function.printf.php Previous Comments: --------------------------------------------------------------------------- [2001-02-22 16:05:47] derick@php.net This is normal floating point math behavior --------------------------------------------------------------------------- [2001-02-22 15:45:55] robburne@hotmail.com Hi I am not sure if I have found a bug - what do you think.......? Consider this: $var1 = -0.32 + (0.1*3.2) This should give var1 the value 0, instead it gives 5.5511151231258E-17 Interestingly if you increase -0.33 and 3.3 respectively it gives the correct answer. Werid! Rob Burne robburne@hotmail.com --------------------------------------------------------------------------- ATTENTION! Do NOT reply to this email! To reply, use the web interface found at http://bugs.php.net/?id=9411&edit=2

« previous php.dev (#47287) next »