(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — 2つの任意精度数値の乗算を行う
num1
左オペランドを表す文字列。
num2
右オペランドを表す文字列。
scale
null
の場合は、 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"
?>