(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Умножение двух чисел с произвольной точностью
$num1
, string $num2
, ?int $scale
= null
): string
Умножает num1
на
num2
.
num1
Левый операнд (первый множитель) в виде строки.
num2
Правый операнд (второй множитель) в виде строки.
scale
Этот необязательный параметр используется для установки количества знаков после десятичного разделителя в результате. Если не задано, то, по умолчанию, будет использовано значение заданное глобально с помощью bcscale(), либо 0
.
Возвращает результат в виде строки.
Версия | Описание |
---|---|
8.0.0 |
scale теперь допускает значение null.
|
7.3.0 | Теперь bcmul() возвращает числа с заданной точностью. Раньше завершающие нули в дробной части числа отбрасывались. |
Пример #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() с заданной точностью
<?php
echo bcmul('5', '2', 2); // напечатает "10", а не "10.00"
?>