1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 06:51:18 +02:00

round(-0.1) will now return 0 instead of -0

This commit is contained in:
Hartmut Holzgraefe
2000-03-01 19:36:37 +00:00
parent 4dd71d4cfe
commit 33cb181af2

View File

@@ -101,6 +101,7 @@ PHP_FUNCTION(floor) {
/* }}} */
/* {{{ proto int round(double number)
Returns the rounded value of the number */
#ifndef HAVE_RINT
@@ -128,7 +129,10 @@ PHP_FUNCTION(round)
convert_scalar_to_number_ex(value);
if ((*value)->type == IS_DOUBLE) {
RETURN_DOUBLE(rint((*value)->value.dval));
double d;
d=rint((*value)->value.dval);
if(d==0.0) d=0.0; /* workaround for rint() returning -0 instead of 0 */
RETURN_DOUBLE(d);
} else if ((*value)->type == IS_LONG) {
RETURN_DOUBLE((double)(*value)->value.lval);
}