Funções matemáticas de precisão arbitrária BC Math &reftitle.intro; Para matemática de precisão arbitrária, o PHP oferece BCMath, que suporta números de qualquer tamanho e com precisão de até 2147483647 (ou 0x7FFFFFFF) dígitos decimais, até a memória disponível, representadas como strings. Numéros válido (ou bem formados) são strings que concordam com a expressão regular /^[+-]?[0-9]*(\.[0-9]*)?$/. Passar valores de tipo float para uma função BCMatch, que espera um operando string pode não funcionar como esperado dado que o PHP converte valores float para string, especificamente que a string convertida pode estar numa notação exponencial (que não é suportado no BCMath), e dado que, anteriormente ao PHP 8.0.0, o separador decimal depende da locale configurada (enquanto BCMath sempre trabalho com ponto). '0' $num2 = -0.000005; // (string) -0.000005 => '-5.05E-6' echo bcadd($num1, $num2, 6); // => '0.000000' setlocale(LC_NUMERIC, 'de_DE'); // usa uma vírgula como separador de decimais $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;