bcpow
Raise an arbitrary precision number to another
Description
string bcpow(string $num, string $exponent, intnull $scale = null)
Parameters
-
num
-
The base, as a string.
-
exponent
-
The exponent, as a string. Must be a value with no fractional part.
The valid range of the exponent is platform specific, but is at least
-2147483648 to 2147483647.
-
scale
-
This parameter is used to set the number of digits after the decimal place in the result.
If
null, it will default to the default scale set with bcscale,
or fallback to the value of the
bcmath.scale INI directive.
Return Values
Returns the result as a string.
Errors/Exceptions
This function throws a ValueError in the following cases:
num or exponent is not a well-formed BCMath numeric string
exponent has a fractional part
exponent or scale is outside the valid range
This function throws a DivisionByZeroError exception if num
is 0 and exponent is a negative value.
Examples
Example #1 bcpow example
<?php
echo bcpow('4.2', '3', 2); // 74.08
?>
Notes
Note:
Before PHP 7.3.0 bcpow may return a result with fewer digits after the
decimal point than the scale parameter would
indicate. This only occurs when the result doesn't require all of the
precision allowed by the scale. For example:
Example #2 bcpow scale example
<?php
echo bcpow('5', '2', 2); // prints "25", not "25.00"
?>
See Also
- bcpowmod
- bcsqrt
- BcMath\Number::pow