Числа с плавающей точкой ("float", "double" или "real") могут
специфицироваться с использованием следующих видов синтаксиса:
$a = 1.234; $a = 1.2e3; $a = 7E-10;
Размер float зависит от платформы, хотя максимально возможна величина ~1.8e308 с точностью, грубо, 14
десятичных цифр (то есть 64 битный IEEE-формат).
Точность "с плавающей точкой"
Весьма часто простые дроби вроде 0.1 или 0.7 не могут конвертироваться в
их внутренние двоичные представления без потери
точности. Это может привести к парадоксальным результатам: например, floor((0.1+0.7)*10)
обычно возвращает 7 вместо ожидаемого 8 как результат внутреннего представления
приблизительного числа 7.9999999999....
Причиной является то, что невозможно точно выразить некоторые дроби в
десятичной нотации конечным количеством цифр. Например, 1/3 в десятичной форме имеет вид
0.3333333...
Итак, никогда не полагайтесь на точность результата
с плавающей точкой до последней цифры и никогда не проверяйте равенство чисел
с плавающей точкой. Если вам нужна действительно высокая точность вычислений, вы
должны использовать math-функции произвольной точности или
gmp.