BcMath\Number is one of those classes that overloads boolean casting.
If $z = new BcMath\Number(0) then $z is considered falsy (and hence, for example, empty($z)==true) even though it is a genuine Number object.(PHP 8 >= 8.4.0)
Класс выполняет математические операции с числами произвольной точности. Объекты класса поддерживают перегруженные арифметические операторы и операторы сравнения.
Замечание: На класс не влияет INI-директива bcmath.scale, которую устанавливают в файле php.ini.
Замечание: Перегруженные операторы ведут себя так же, как параметр
scaleсо значениемnullв методах с поддержкой такого параметра.
$exponent, BcMath\Number|string|int $modulus, ?int $scale = null): BcMath\Number$precision = 0, RoundingMode $mode = RoundingMode::HalfAwayFromZero): BcMath\Numberscale не установили в методе расчёта.
BcMath\Number is one of those classes that overloads boolean casting.
If $z = new BcMath\Number(0) then $z is considered falsy (and hence, for example, empty($z)==true) even though it is a genuine Number object.