BCMath — розрахунки з довільною математичною точністю BCMath &reftitle.intro; Для математичних обчислень з довільною точністю PHP пропонує розширення BC Math, яке дозволяє оперувати числами будь-якого розміру і точності, представленими у вигляді рядків, аж до 2147483647 (0x7FFFFFFF) знаків або обмежуючись виділеною пам'яттю. Правильними числами для BCMath є рядки, що відповідають регулярному виразу /^[+-]?[0-9]*(\.[0-9]*)?$/. Передавання числа типу float в функції BCMath, які очікують операнди типу string, може не мати бажаного ефекту через спосіб, яким PHP перетворює float-значення в string, а саме: рядок (string) може отримати експонентний запис числа (що не підтримується BCMath); до PHP 8.0.0 символ десяткового розділювача залежить від локалі (тоді як BCMath очікує крапку). '0' $num2 = -0.000005; // (string) -0.000005 => '-5.05E-6' echo bcadd($num1, $num2, 6); // => '0.000000' setlocale(LC_NUMERIC, 'de_DE'); // розділювач — кома $num2 = 1.2; // (string) 1.2 => '1,2' echo bcsub($num1, $num2, 1); // => '0.0' ?> ]]> &reference.bc.setup; &reference.bc.reference; &reference.bc.bcmath.number;