Get the square root of an arbitrary precision number

- « bcscale

- bcsub »

- PHP Manual
- BC Math Functions
- Get the square root of an arbitrary precision number

# bcsqrt

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

bcsqrt — Get the square root of an arbitrary precision number

### Description

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

Return the square root of the `num`.

### Parameters

`num`

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

`scale`

  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.

### Errors/Exceptions

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

### Changelog

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.

### Examples

Example #1 bcsqrt() example

    <?phpecho bcsqrt('2', 3); // 1.414?>

### See Also

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