Bug #46566 [Com]: wrong calculating

From: Date: Mon, 18 Jul 2011 20:07:06 +0000
Subject: Bug #46566 [Com]: wrong calculating
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-161982@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=46566&edit=1 ID: 46566 Comment by: beno9119 at gmail dot com Reported by: krumb at valentins dot de Summary: wrong calculating Status: Bogus Type: Bug Package: Math related Operating System: Suse Linux PHP Version: 5.2.6 Block user comment: N Private report: N New Comment: <? $share=100; $discount=7/100*$share; $brutto=5.8824/100*(100+19); $brutto=round($brutto,2); echo $brutto."-".$discount."="; $new=$brutto-$discount; echo round($new,2); ?> Previous Comments: ------------------------------------------------------------------------ [2008-11-13 13:39:35] pajoye@php.net Floating point values have a limited precision. Hence a value might not have the same string representation after any processing. That also includes writing a floating point value in your script and directly printing it without any mathematical operations. If you would like to know more about "floats" and what IEEE 754 is, read this: http://docs.sun.com/source/806-3568/ncg_goldberg.html Thank you for your interest in PHP. . ------------------------------------------------------------------------ [2008-11-13 13:36:34] krumb at valentins dot de Description: ------------ Some strange calculating mistake It seems to happen in the second line at 7/100*100, echos zero, had to be zero but internal it seems thats not zero Reproduce code: --------------- <? $share=100; $discount=7/100*$share; $brutto=5.8824/100*(100+19); $brutto=round($brutto,2); echo $brutto."-".$discount."="; $new=$brutto-$discount; echo $new; ?> Expected result: ---------------- 7-7=0 Actual result: -------------- 7-7=-8.881784197E-16 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=46566&edit=1

« previous php.bugs (#161982) next »