(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.
scale
null
, 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) }