Re: ROUND inconsistency

From: Date: Fri, 13 Apr 2001 08:09:37 +0000
Subject: Re: ROUND inconsistency
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-48421@lists.php.net to get a copy of this message
Correction, MySQL is not returning floor, since it returns 2 for round(1.5). - I didn't see it. MySQL should not return 2 for round(2.5), but it should return 3. I think it's MySQL bug. How about ask in MySQL mailing list? -- Yasuo Ohgaki ""Yasuo Ohgaki"" <yohgaki@hotmail.com> wrote in message news:9b60qv$v9b$1@toye.p.sourceforge.net... > MySQL is returning floor. (I'm not a MySQL heavy user, though :) > > PHP's result is correct for its function name, I think. > If MySQL returns floor for round(), how about use floor() in PHP? > > Regards, > -- > Yasuo Ohgaki > > > "Lee Howard" <faxguy@deanox.com> wrote in message > news:3.0.6.32.20010412201450.00aab2a0@server.deanox.com... > > Using MySQL 3.23.32 on RedHat Linux 7.0... > > > > MySQL's ROUND function rounds 5 up when the preceding digit is odd and down > > when the preceding digit is even. > > > > mysql> select round(1.5); > > +------------+ > > | round(1.5) | > > +------------+ > > | 2 | > > +------------+ > > 1 row in set (0.00 sec) > > > > mysql> select round(2.5); > > +------------+ > > | round(2.5) | > > +------------+ > > | 2 | > > +------------+ > > 1 row in set (0.00 sec) > > > > I think that this is technically the correct behavior, scientifically, > > anyway. However, this is not the common "lay-man's" method of rounding, > > which is to always round 5 up, as exhibited by PHP-4.0.4pl1... > > > > <? echo round(1.5); ?> > > <br> > > <? echo round(2.5); ?> > > > > Apache 1.3.14 output for this is: > > > > 2 > > 3 > > > > This discrepancy causes a difficulty in programming PHP and MySQL together, > > for example, because all of the rounding must be done in either PHP or > > MySQL but not both partially unless you want conflicting data. > > > > I would like to see MySQL ROUND() syntax expand to be ROUND(X,D,M) where > > optional M value indicates the method of rounding, the default being the > > current method. > > > > I would also like to see PHP round() syntax expand to be > > double round (double val [, int precision] [, char method]) > > where the optional method value indicates the method of rounding, the > > default being the current method. > > > > Thanks. > > > > Lee Howard > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > > For additional commands, e-mail: php-general-help@lists.php.net > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net > For additional commands, e-mail: php-general-help@lists.php.net > To contact the list administrators, e-mail: php-list-admin@lists.php.net >

« previous php.general (#48421) next »