Fonctions BCMath
BC Math
&reftitle.intro;
Pour les calculs mathématiques d'une grande précision, PHP fournit
BCMath, qui supporte n'importe quelle précision et
n'importe quelle taille de nombres jusqu'à 2147483647 (ou
0x7FFFFFFF) chiffres décimals, s'il y a suffisamment de mémoire,
représentés sous la forme d'une &string;.
Les nombres BCMath valides (c.à.d. bien formés) sont des chaînes qui
correspondent à l'expression régulière
/^[+-]?[0-9]*(\.[0-9]*)?$/.
Le passage de valeurs de type &float; à une fonction BCMath qui
attend une &string; comme opérande peut ne pas avoir l'effet
désiré en raison de la façon dont PHP convertit les valeurs
&float; en &string;, à savoir que la
&string; peut être en notation exponentielle (ce qui n'est pas
pris en charge par BCMath), et que, antérieur à PHP 8.0.0,
le séparateur décimal dépend de la locale
(tandis que BCMath attend toujours un point décimal).
'0'
$num2 = -0.000005; // (string) -0.000005 => '-5.05E-6'
echo bcadd($num1, $num2, 6); // => '0.000000'
setlocale(LC_NUMERIC, 'de_DE'); // utilise une virgule décimale
$num2 = 1.2; // (string) 1.2 => '1,2'
echo bcsub($num1, $num2, 1); // => '0.0'
?>
]]>
&reference.bc.setup;
&reference.bc.constants;
&reference.bc.reference;