Automattic\WooCommerce\Utilities

NumberUtil::round()public staticWC 1.0

Round a number using the built-in round function, but unless the value to round is numeric (a number or a string that can be parsed as a number), apply 'floatval' first to it (so it will convert it to 0 in most cases).

This is needed because in PHP 7 applying round to a non-numeric value returns 0, but in PHP 8 it throws an error. Specifically, in WooCommerce we have a few places where round('') is often executed.

Метод класса: NumberUtil{}

Хуков нет.

Возвращает

float. The value rounded to the given precision as a float, or the supplied default value.

Использование

$result = NumberUtil::round( $val, $precision, $mode ) : float;
$val(разное) (обязательный)
The value to round.
$precision(int)
The optional number of decimal digits to round to.
$mode(int)
A constant to specify the mode in which rounding occurs.
По умолчанию: PHP_ROUND_HALF_UP

Код NumberUtil::round() WC 8.7.0

public static function round( $val, int $precision = 0, int $mode = PHP_ROUND_HALF_UP ) : float {
	if ( ! is_numeric( $val ) ) {
		$val = floatval( $val );
	}
	return round( $val, $precision, $mode );
}