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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user