(PHP 8 >= 8.4.0)
BcMath\Number::sqrt — Извлекает квадратный корень из числа произвольной точности
Метод возвращает квадратный корень значения переменной $this.
scalenull для свойства BcMath\Number::scale метод автоматически установит масштаб в результате расчёта.
Метод возвращает квадратный корень в виде нового объекта BcMath\Number.
При автоустановке значения свойству BcMath\Number::scale в объекте с результатом
метод установит свойству значение масштаба BcMath\Number::scale объекта в переменной $this,
но при невозможности деления метод расширит значение свойства BcMath\Number::scale в объекте с результатом.
Метод расширяет масштаб только когда требуется и не больше чем на +10 знаков.
Это поведение аналогично методу BcMath\Number::div(), описание которого раскрывает подробности.
Метод установит значение масштаба BcMath\Number::scale в результате между 5
и 15, если значение свойства BcMath\Number::scale в переменной $this
равняется 5.
Метод выбрасывает ошибку ValueError в следующих случаях:
scale выходит за пределы допустимого диапазона.
Пример #1 Пример извлечения квадратного корня из числа произвольной точности методом BcMath\Number::sqrt()
<?php
var_dump(
new BcMath\Number('2')->sqrt(),
new BcMath\Number('2')->sqrt(3),
new BcMath\Number('4')->sqrt(),
new BcMath\Number('4')->sqrt(3),
);
?>Результат выполнения приведённого примера:
object(BcMath\Number)#2 (2) {
["value"]=>
string(12) "1.4142135623"
["scale"]=>
int(10)
}
object(BcMath\Number)#3 (2) {
["value"]=>
string(5) "1.414"
["scale"]=>
int(3)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(1) "2"
["scale"]=>
int(0)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(5) "2.000"
["scale"]=>
int(3)
}