var_dump((0.1 + 0.2) == 0.3); // bool(false) - почему?

clgs

Новичок
Добрый день.
Пожалуйста, объясните следующее:
PHP:
var_dump((0.1 + 0.2) == 0.3); // bool(false)
var_dump(0.1 + 0.2); // float(0.3)
var_dump(0.3); // float(0.3)
var_dump(0.3 == 0.3); // bool(true)
$q=0.1 + 0.2;
var_dump($q == 0.3); // bool(false)
$q=0.3;
var_dump($q == 0.3); // bool(true)
$q=0.1 + 0.2;
var_dump((string)$q == '0.3'); // bool(true)
 

Adelf

Administrator
Команда форума
clgs
нельзя напрямую сравнивать нецелые числа
 
Сверху