Floatval() в PHP?
Потому что IEEE 754
Очевидно, что при хранении чисел в двоичной системе, абсолютно точно можно хранить только те дробные числа, которые состоят из степеней двойки. Остальные числа хранятся с точностью до машинной эпсилон.
Вообще в теории echo $a + $b даст ответ на вопрос, а если быть конкретней то:
0.1 + 0.7 === 0.8 // false
почему?
ответ не очевиден но: 0.1 + 0.7 = 0.7999999999999999
Ваша арифметика из той же степени — числа с плавающей точной не точны, округляйте до пары знаков после замятой с помошью number_format тогда будет все работать правильно