Лучший белый каталог сайтов и статей
Каталог   Добавить ссылку   Добавить статью   Администрирование   Карта  
 

Мы будем Вам благодарны, если Вы поделитесь с друзьями ссылкой на Наш проект с помощью кнопок ниже:




Купить ссылку здесь за руб.
Поставить к себе на сайт


Сравнение чисел с плавающей точкой при помощи языка PHP.

Решение

Задайте малую дельту и проверьте числа на равенство в пределах этой дельты:

$delta = 0.00001;

$a = 1.00000001;
$b = 1.00000000;

if (abs($a-$b) < $delta) { /* $a и $b равны */ }

Обсуждение

Числа с плавающей точкой представляются в двоичном виде только с конечным количеством разрядов для мантиссы и порядка. При превышении этого количества происходит переполнение. В результате иногда PHP (а также другие языки) не считают два числа действительно равными, так как они могут отличаться в самом последнем разряде. Для того чтобы обойти эту трудность, вместо проверки равенства $a == $b следует обеспечить очень небольшую разность ($delta) между первым и вторым числом. Размер этой дельты должен быть меньше разницы между двумя числами, которую вы хотите обеспечить. Затем для получения абсолютного значения разности вызывается функция abs().



Комментарии:

Комментариев нет

Добавить свой комментарий:

Имя:

E-Mail адрес:

Комментарий:

Ваша оценка:

Введите число, которое Вы видите на картинке:
Информация
Источник:
http://www.сайты-всем.рф/files/php/sravnenie_chisel_s_plavayushchei_tochkoi.php
Автор: Игорь
Категории:
Оценка модератора: Нет
Оценка пользователей: Нет
Переходов на сайт:0
Переходов с сайта:0
 
Яндекс.Метрика