(PHP 4, PHP 5, PHP 7, PHP 8)
bcpow — Elevar un número de precisión arbitraria a otro
Eleva num
a la potencia
exponent
.
num
La base, como un string.
exponent
El exponente, como un string. Debe ser un valor sin parte fraccionaria.
El rango válido del exponente es específico de la plataforma, pero es al menos de
-2147483648
a 2147483647
.
scale
null
, se establecerá por defecto en la escala predeterminada establecida con bcscale(),
o se utilizará el valor de la directiva INI
bcmath.scale
.
Devuelve el resultado como un string.
Esta función lanza una ValueError en los siguientes casos:
num
o exponent
no es un string numérico con formato válido de BCMathexponent
tiene una parte fraccionariaexponent
o scale
están fuera del rango válido
Esta función lanza una DivisionByZeroError si num
es 0
y exponent
es un valor negativo.
Versión | Descripción |
---|---|
8.4.0 |
Las potencias negativas de 0 anteriormente devolvían 0 , pero ahora lanzan una
excepción DivisionByZeroError.
|
8.0.0 |
Cuando exponent tiene una parte fraccionaria, ahora lanza un ValueError
en lugar de truncar.
|
7.3.0 | bcpow() ahora devuelve números con la escala solicitada. Anteriormente, los números devueltos podían omitir los ceros decimales finales. |
Ejemplo #1 Ejemplo de bcpow()
<?php
echo bcpow('4.2', '3', 2); // 74.08
?>
Nota:
Antes de PHP 7.3.0, bcpow() podría devolver un resultado con menos dígitos después del punto decimal que los indicados en el parámetro
scale
. Esto sucede únicamente cuando el resultado no necesita toda la precisión disponible porscale
. Por ejemplo:Ejemplo #2 Ejemplo de escalado de bcpow()
<?php
echo bcpow('5', '2', 2); // Imprime "25", no "25.00"
?>