(PHP 4, PHP 5, PHP 7, PHP 8)
bcpow — Potenz einer Zahl beliebiger Genauigkeit
Potenziert num
mit
exponent
.
num
Die 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
.
scale
null
, 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
scale
angibt. Dies geschieht nur, wenn das Ergebnis nicht die gesamte durchscale
erlaubte Genauigkeit erfordert. Zum Beispiel:Beispiel #2 bcpow() Genauigkeitsbeispiel
<?php
echo bcpow('5', '2', 2); // gibt "25" aus, nicht "25.00"
?>