PHP 8.4.0 Alpha 2 available for testing


(PHP 4, PHP 5, PHP 7, PHP 8)

bcsqrtGet the square root of an arbitrary precision number


bcsqrt(string $num, ?int $scale = null): string

Return the square root of the num.



The operand, as a well-formed BCMath numeric string.


This optional parameter is used to set the number of digits after the decimal place in the result. If omitted, it will default to the scale set globally with the bcscale() function, or fallback to 0 if this has not been set.

Return Values

Returns the square root as a well-formed BCMath numeric string.


This function throws a ValueError in the following cases:

  • num is not a well-formed BCMath numeric string
  • num is less than 0
  • scale is outside the valid range


Version Description
8.0.0 If num is not a well-formed BCMath numeric string, or less than 0, a ValueError is thrown. Previously, E_WARNING was raised instead.
8.0.0 scale now needs to be between 0 and 2147483647; previously, negative scales have been silently treated as 0.
8.0.0 scale is now nullable.


Example #1 bcsqrt() example


echo bcsqrt('2', 3); // 1.414


See Also

  • bcpow() - Raise an arbitrary precision number to another

add a note

User Contributed Notes

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