(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Умножает два числа произвольной точности
Функция умножает число num1 на число num2.
num1Левый операнд (слагаемое) в виде строки.
num2Правый операнд (слагаемое) в виде строки.
scalenull, то по умолчанию будет установлен масштаб по умолчанию,
заданный с помощью функции bcscale() или значение INI-директивы
bcmath.scale.
Функция возвращает результат в виде строки.
Функция выбрасывает исключение ValueError в следующих случаях:
num1 или num2 оказалось строкой,
которую сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath.
scale выходит за пределы допустимого диапазона.
| Версия | Описание |
|---|---|
| 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"
?>