(PHP 4, PHP 5, PHP 7, PHP 8)
bcpow — Eleva um número de precisão arbitrária a outro
Eleva num a potência de
exponent.
numO número base, como uma string.
exponent
O número expoente, como uma string. Precisa ser um valor sem parte fracionária.
Os expoentes válidos dependem da plataforma, mas ao menos são válidos de
-2147483648 até 2147483647.
scalenull, será usada a escala padrão definida com bcscale(),
ou será usado o valor da diretiva INI
bcmath.scale.
Retorna o resultado como uma string.
Esta função lança uma exceção ValueError nos seguintes casos:
num ou exponent não são strings numéricas BCMath bem formadasexponent tem uma parte fracionáriaexponent ou scale está fora do intervalo válido
Esta função lança uma exceção DivisionByZeroError se num
for igual a 0 e exponent for um valor negativo.
| Versão | Descrição |
|---|---|
| 8.4.0 |
Potências negativas de 0 anteriormente retornavam 0, mas agora lançam uma
exceção DivisionByZeroError.
|
| 8.0.0 |
Quando exponent tem uma parte fracionária, lança uma exceção ValueError
ao invés de truncar o valor.
|
| 7.3.0 | bcpow() agora retorna números com a escala solicitada. Mais exatamente, o número retornado pode omitir alguns zeros decimais. |
Exemplo #1 Exemplo da bcpow()
<?php
echo bcpow('4.2', '3', 2); // 74.08
?>Nota:
Anteriormente ao PHP 7.3.0, bcpow() podia retornar um resultado com menos dígitos decimais do que o indicado no parâmetro
scale. Isto ocorre quando o resultado não requer toda a precisão permitida porscale. Por exemplo:Exemplo #2 Exemplo bcpow() com scale
<?php
echo bcpow('5', '2', 2); // Imprime "25", não "25.00"
?>