round() problem

Krzysztof Nakielski nakiel at nakiel.net
Thu Apr 13 09:22:39 UTC 2006


On Wed, Apr 12, 2006 at 09:37:01AM -0400, Bill Moran wrote:
> On Wed, 12 Apr 2006 12:09:17 +0200
> Krzysztof Nakielski <nakiel at nakiel.net> wrote:
> 
> > Hi,
> > 
> > I am having problem with round() function in php, python, mysql. I am
> > not sure if thats FreeBSD issue. I receive the same results on 4.11, 5.4
> > and 6.0.
> > 
> > php (4.4.1, 5.1.2):
> > %php -r 'print round(8.075, 2) ."\n";'
> > 8.07
> 
> Have you compared these results to other POSIX systems?

On RHEL 3 only PHP returns good result. In python and mysql there is the
same issue.

> The problem is in the way that real numbers are implemented.  If you
> do some searches, you'll find many, many discussions of this.  Simple
> fact is that the behaviour under these circumstances is not what
> you think it is.  This kind of thing is the reason that most languages
> have high-precision floating point libraries available.
> 

I will search for this. But first thing is to give up with python, php,
mysql in billing software or write own functions otherwise you can lose
money.

Thanks,

-- 
*   Krzysztof Nakielski   *
*   System Administrator  *


More information about the freebsd-questions mailing list