array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.bcmul.php', 1 => 'bcmul', ), 'up' => array ( 0 => 'ref.bc.php', 1 => 'Функции BC Math', ), 'prev' => array ( 0 => 'function.bcmod.php', 1 => 'bcmod', ), 'next' => array ( 0 => 'function.bcpow.php', 1 => 'bcpow', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/bc/functions/bcmul.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
bcmul — Умножение двух чисел с произвольной точностью
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"
?>