説明
string bcpow(string $num
, string $exponent
, intnull $scale
= null
)
パラメータ
-
num
-
基数を表す文字列。
-
exponent
-
指数を表す文字列。
指数が整数でない場合、値は切り捨てられます。
正しい指数の範囲はプラットフォーム依存ですが、
少なくとも -2147483648
から
2147483647
までの範囲を持ちます。
-
scale
-
結果の小数点以下の桁数を指定します。
null
の場合は、 bcscale 関数でグローバルに
設定した桁数をデフォルトとして使用します。
それも設定されていない場合は bcmath.scale
INI ディレクティブの値を使用します。
エラー / 例外
この関数は、以下の場合に ValueError をスローします:
num
もしくは exponent
が、BCMath で有効でない数値形式の文字列である場合
exponent
が整数値でない場合
exponent
もしくは scale
が範囲外の値である場合
この関数は、num
の値が 0
かつ exponent
が負の値である場合、
DivisionByZeroError 例外をスローします。
例
例1 bcpow の例
<?php
echo bcpow('4.2', '3', 2); // 74.08
?>
注意
注意:
PHP 7.3.0 より前のバージョンでは、
bcmul は scale
引数で指定したものより少ない桁数を返す可能性がありました。
これは scale
で許された精度が不要な場合にだけ起きていました。
たとえば、以下のような場合です:
例2 bcpow で scale を指定する例
<?php
echo bcpow('5', '2', 2); // 結果は "25.00" ではなく "25" となります
?>
参考
- bcpowmod
- bcsqrt
- BcMath\Number::pow