PHPerKaigi 2025

BcMath\Number::sqrt

(PHP 8 >= 8.4.0)

BcMath\Number::sqrtИзвлекает квадратный корень из числа произвольной точности

Описание

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

Метод возвращает квадратный корень значения переменной $this.

Список параметров

scale
Параметр scale явно указывает значение масштаба в результате расчёта. Со значением null для параметра scale метод автоматически установит масштаб в результате расчёта.

Возвращаемые значения

Метод возвращает квадратный корень в виде нового объекта BcMath\Number.

При автоустановке в объекте с результатом значения свойству BcMath\Number::scale метод установит свойству значение масштаба BcMath\Number::scale исходного объекта, но при невозможности деления метод расширит значение свойства BcMath\Number::scale в объекте с результатом. Метод расширяет масштаб только когда требуется и не больше чем на +10 знаков.

Метод установит значение масштаба BcMath\Number::scale в результате между 5 и 15, если значение свойства BcMath\Number::scale в исходном объекте равняется 5.

Ошибки

Метод выбрасывает ошибку ValueError в следующих случаях:

  • Исходный объект содержит отрицательное значение.
  • Значение аргумента scale выходит за пределы допустимого диапазона.
  • Значение свойства BcMath\Number::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)
}

Смотрите также

  • bcsqrt() - Извлекает квадратный корень из числа произвольной точности
  • BcMath\Number::div() - Делит числа произвольной точности
  • BcMath\Number::pow() - Возводит число произвольной точности в степень
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top