(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — 2つの任意精度数値の乗算を行う
num1左オペランドを表す文字列。
num2右オペランドを表す文字列。
scalenull の場合は、 bcscale() 関数でグローバルに
設定した桁数をデフォルトとして使用します。
それも設定されていない場合は bcmath.scale
INI ディレクティブの値を使用します。
結果を文字列で返します。
この関数は、以下の場合に ValueError をスローします:
num1 もしくは num1 が、BCMath で有効でない数値形式の文字列である場合scale が範囲外の値である場合| バージョン | 説明 |
|---|---|
| 8.0.0 |
scale は、nullable になりました。
|
| 7.3.0 | bcmul() 関数が、指定されたスケールの数値を返すようになりました。 これより前のバージョンでは、 返される数値の末尾が 0埋め されることなく、省略される可能性がありました。 |
例1 bcmul() の例
<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>注意:
PHP 7.3.0 より前のバージョンでは、 bcmul() は
scale引数で指定したものより少ない桁数を返す可能性がありました。 これはscaleで許された精度が不要な場合にだけ起きていました。 たとえば、以下のような場合です:例2 bcmul() で scale を指定する例
<?php
echo bcmul('5', '2', 2); // prints "10", not "10.00"
?>