(PHP 4, PHP 5, PHP 7, PHP 8)
bcpow — Potenz einer Zahl beliebiger Genauigkeit
Potenziert num mit
exponent.
numDie Basis als Zeichenkette.
exponent
Der Exponent in Form einer Zeichenkette; muss ein Wert ohne
Nachkommastelle sein.
Der gültige Bereich des Exponenten ist plattformabhängig, ist allerdings
mindestens -2147483648 bis
2147483647.
scalenull, wird die mit bcscale() definierte
Standard-Genauigkeit verwendet oder auf den Wert der INI-Direktive
bcmath.scale
zurückgegriffen.
Gibt das Ergebnis als Zeichenkette zurück.
In den folgenden Fällen löst diese Funktion einen ValueError aus:
num oder exponent ist keine wohlgeformte numerische BCMath-Zeichenketteexponent hat eine Nachkommastelleexponent oder scale liegt außerhalb des gültigen Bereichs
Wenn num 0 ist und
exponent ein negativer Wert ist, löst diese Funktion
eine DivisionByZeroError-Exception aus.
| Version | Beschreibung |
|---|---|
| 8.4.0 |
Bei negativen Potenzen von 0 wurde bisher
0 zurückgegeben, nun wird eine
DivisionByZeroError-Exception ausgelöst.
|
| 8.0.0 |
Wenn exponent eine Nachkommastelle hat, wird nun
ein ValueError ausgelöst, anstatt den
Wert abzuschneiden.
|
| 7.3.0 | bcpow() gibt nun Zahlen mit den angeforderten Nachkommastellen zurück. Zuvor haben die zurückgegebenen Zahlen möglicherweise abschließende Dezimalnullen ausgelassen. |
Beispiel #1 bcpow()-Beispiel
<?php
echo bcpow('4.2', '3', 2); // 74.08
?>Hinweis:
Vor PHP 7.3.0 kann bcpow() ein Ergebnis mit weniger Nachkommastellen zurückgeben, als der Parameter
scaleangibt. Dies geschieht nur, wenn das Ergebnis nicht die gesamte durchscaleerlaubte Genauigkeit erfordert. Zum Beispiel:Beispiel #2 bcpow() Genauigkeitsbeispiel
<?php
echo bcpow('5', '2', 2); // gibt "25" aus, nicht "25.00"
?>