PHP Conference Kansai 2025

BcMath\Number::sqrt

(PHP 8 >= 8.4.0)

BcMath\Number::sqrtDevuelve la raíz cuadrada de un número de precisión arbitraria

Descripción

public BcMath\Number::sqrt(?int $scale = null): BcMath\Number

Devuelve la raíz cuadrada de $this.

Parámetros

scale
BcMath\Number::scale especificado explícitamente para los resultados del cálculo. Si null, el BcMath\Number::scale del resultado del cálculo será definido automáticamente.

Valores devueltos

Devuelve la raíz cuadrada en forma de un nuevo objeto BcMath\Number.

Cuando el BcMath\Number::scale del resultado se define automáticamente, el BcMath\Number::scale de $this es utilizado. Sin embargo, en casos tales como la división indivisible, el BcMath\Number::scale del resultado se extiende. La expansión se realiza únicamente si es necesario, hasta un máximo de +10. Este comportamiento es similar al de BcMath\Number::div(), consulte esto para más detalles.

Es decir, si el BcMath\Number::scale de este objeto es 5, el BcMath\Number::scale del resultado está entre 5 y 15.

Errores/Excepciones

Este método lanza una ValueError en los siguientes casos:

  • $this es un valor negativo
  • scale está fuera del rango válido
  • El BcMath\Number::scale del resultado está fuera del rango válido

Ejemplos

Ejemplo #1 Ejemplo 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),
);
?>

El resultado del ejemplo sería:

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)
}

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top