BcMath\Number::sqrt

(PHP 8 >= 8.4.0)

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

Описание

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

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

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

scale
Свойство BcMath\Number::scale явно указывает значение масштаба в результате расчёта. Со значением null для свойства 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 в следующих случаях:

  • Объект в переменной $this содержит отрицательное значение.
  • Значение аргумента 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