Potenz einer Zahl beliebiger Genauigkeit

# bcpow

(PHP 4, PHP 5, PHP 7, PHP 8)

bcpow — Potenz einer Zahl beliebiger Genauigkeit

### Beschreibung

function bcpow(string `$num`, string `$exponent`, ?int `$scale` = `null`): string

Potenziert `num` mit `exponent`.

### Parameter-Liste

`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`
  Dieser Parameter wird verwendet, um die Anzahl der Nachkommastellen im Ergebnis festzulegen. Falls `null`, wird die mit bcscale() definierte Standard-Genauigkeit verwendet oder auf den Wert der INI-Direktive `bcmath.scale` zurückgegriffen.

### Rückgabewerte

Gibt das Ergebnis als Zeichenkette zurück.

### Fehler/Exceptions

In den folgenden Fällen löst diese Funktion einen ValueError aus:

- `num` oder `exponent` ist keine wohlgeformte numerische BCMath-Zeichenkette
- `exponent` hat eine Nachkommastelle
- `exponent` 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.

### Changelog

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.

### Beispiele

Beispiel #1 bcpow()-Beispiel

    <?php

    echo bcpow('4.2', '3', 2); // 74.08

    ?>

### Anmerkungen

> 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 durch `scale` erlaubte Genauigkeit erfordert. Zum Beispiel:

> Beispiel #2 bcpow() Genauigkeitsbeispiel

>     <?php
>     echo bcpow('5', '2', 2);     // gibt "25" aus, nicht "25.00"
>     ?>

### Siehe auch

- bcpowmod() - Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo
- bcsqrt() - Ermittelt die Quadratwurzel einer Zahl beliebiger Genauigkeit
- BcMath\Number::pow() - Raises an arbitrary precision number

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open