PHP. Руководство по PHP. 2005
Числа с плавающей точкой

Числа с плавающей точкой
Числа с плавающей точкой (они же числа двойной точности или действительные числа) могут быть определены при помощи любого из следующих синтаксисов:
Формально:
LNUM [0-9]+
|
Точность числа с плавающей точкой |
Довольно часто простые десятичные дроби вроде
0.1 или 0.7 не могут быть
преобразованы в свои внутренние двоичные аналоги без небольшой
потери точности. Это может привести к неожиданным результатам:
например, floor((0.1+0.7)*10) скорее всего
возвратит 7 вместо ожидаемой
8 как результат внутреннего представления
числа, являющегося в действительности чем-то вроде 7.9999999999....
Это связано с невозможностью точно выразить некоторые дроби в десятичной системе счисления конечным числом цифр. Например, 1/3 в десятичной форме принимает вид 0.3333333. . .. Так что никогда не доверяйте точности последних цифр в результатах с числами с плавающей точкой и никогда не проверяйте их на равенство. Если вам действительно необходима высокая точность, вам следует использовать математические функции произвольной точности или gmp-функции. |
Преобразование в число с плавающей точкой
О том, когда и как строки преобразуются в числа с плавающей точкой читайте в разделе Преобразование строк в числа. Для значений других типов преобразование будет таким же, как если бы значение сначала было преобразовано в целое, а затем в число с плавающей точкой. Дополнительную информацию смотрите в разделе Преобразование в целое.

![]() | ||
|
Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.
⇪