Регистрация Войти
Войти через VK




Поиск по сайту



PHP Поиск



Числа с плавающей точкой

Числа с плавающей точкой ("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.



Смотрите также:
Все функции числа
Описание на ru2.php.net
Описание на php.ru

.

Популярное:


Содержание:


Новое за неделю



Сейчас на сайте: 1165