On Wed, Dec 31, 2008 at 11:15, LKSunny <a...@pc86.com> wrote: > i need accuracy, how to ?
No you don't. Not the level of accuracy Per was mentioning. His suggestion to round() is what you need. Just adjust the [optional] second parameter to the number of decimal places you wish to round: <?php $credithold = 100; for($i=1;$i<=1000;$i++){ $credithold -= 0.1; echo round($credithold,1)."<br />\n"; } ?> > "Per Jessen" <p...@computer.org> 撰寫於郵件新聞:gjg4fk$58...@saturn.local.net... > LKSunny wrote: > >> <? >> $credithold = 100; >> for($i=1;$i<=1000;$i++){ >> $credithold -= 0.1; >> echo "$credithold<br />"; >> } >> //i don't know why, when run this code, on 91.3 after expect is 91.2, >> however......91.200000000001 >> //who can help me ? and tell me why ? > > It's a floating point rounding error. If you don't need the accuracy, > just round it to what you need. > > > /Per Jessen, Zurich > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- </Daniel P. Brown> daniel.br...@parasane.net || danbr...@php.net http://www.parasane.net/ || http://www.pilotpig.net/ Unadvertised dedicated server deals, too low to print - email me to find out!