(PHP 8 >= 8.4.0)
BcMath\Number::sqrt — Obtém a raiz quadrada de um número de precisão arbitrária
Retorna a raiz quadrada de $this.
scalenull, a BcMath\Number::scale do resultado do cálculo será definida automaticamente.
Retorna a raiz quadrada como um novo objeto BcMath\Number.
Quando a propriedade BcMath\Number::scale do objeto resultante é definida automaticamente,
a BcMath\Number::scale de $this é usada. Entretanto, em casos como
uma divisão indivisível, a BcMath\Number::scale do resultado é expandida.
A expansão é feita apenas quando necessário, até um limite de +10.
Este comportamento é o mesmo de BcMath\Number::div(), consulte este método para detalhes.
Ou seja, se a BcMath\Number::scale de $this for 5,
a BcMath\Number::scale do resultado estará entre 5 e
15.
Este método lança uma exceção ValueError nos seguintes casos:
scale está fora do intervalo válidoExemplo #1 Exemplo de 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),
);
?>O exemplo acima produzirá:
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)
}