(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
.
num
O 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
.
scale
null
, 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"
?>