(PHP 4, PHP 5, PHP 7, PHP 8)
bcpow — Élève un nombre à une puissance donnée
Élève num à
la puissance exponent.
numLa base, sous la forme d'une chaîne de caractères.
exponent
L'exposant, sous la forme d'une chaîne de caractères. Doit être une valeur sans partie fractionnaire.
L'intervale valide de l'exposant dépend de la platforme, mais
c'est au minimum de
-2147483648 à 2147483647.
scalenull, il prendra par défaut la valeur définie par bcscale(),
ou, à défaut, la valeur de la directive INI
bcmath.scale.
Retourne le résultat, sous la forme d'une chaîne de caractères.
Cette fonction lève une exception de type ValueError dans les cas suivants :
num ou exponent n'est pas une chaîne numérique BCMath bien forméeexponent contient une partie fractionnaireexponent ou scale est en dehors de la plage valide
Cette fonction lève une exception de type DivisionByZeroError si num
est 0 et que exponent est une valeur négative.
| Version | Description |
|---|---|
| 8.4.0 |
Les puissances négatives de 0 renvoyaient auparavant 0, mais lèvent désormais une exception DivisionByZeroError.
|
| 8.0.0 |
Lorsque exponent contient une partie fractionnaire, une exception de type ValueError est désormais levée au lieu d'effectuer une troncature.
|
| 7.3.0 | bcpow() retourne désormais les nombres avec la précision demandé. Auparavant, les nombres retournés pouvait omettre les zéros décimaux trainant à la fin. |
Exemple #1 Exemple avec bcpow()
<?php
echo bcpow('4.2', '3', 2); // 74.08
?>Note:
Antérieur à PHP 7.3.0 bcpow() peut retourner un résultat avec moins de chiffres après la virgule que le parmètre
scaleindique. Ceci ne se produit que le résultat ne nécessite pas toute la précision autorisée parscale. Par exemple:Exemple #2 bcpow() exemple pour scale
<?php
echo bcpow('5', '2', 2); // affiche "25", pas "25.00"
?>