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;