Lee Howard writes:
> 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
Hi!
This topic has been covered in all depth on [EMAIL PROTECTED]
Please search the archives on ROUND and you will find all info.
Regards,
Sinisa
____ __ _____ _____ ___ == MySQL AB
/*/\*\/\*\ /*/ \*\ /*/ \*\ |*| Sinisa Milivojevic
/*/ /*/ /*/ \*\_ |*| |*||*| mailto:[EMAIL PROTECTED]
/*/ /*/ /*/\*\/*/ \*\|*| |*||*| Larnaca, Cyprus
/*/ /*/ /*/\*\_/*/ \*\_/*/ |*|____
^^^^^^^^^^^^/*/^^^^^^^^^^^\*\^^^^^^^^^^^
/*/ \*\ Developers Team
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]