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