Błąd obliczania float w PHP podczas odejmowania

Mam bardzo dziwny problem. Jeśli odejmę 2 zmiennoprzecinkowe wartości, gdzie jeden jest wynikiem operacji matematycznej, otrzymuję niewłaściwą wartość.

Przykład:

var_dump($remaining);
var_dump($this->hours_sub['personal']);
echo $remaining-$this->hours_sub['personal'];

To jest wyjście:

float 5.4
float 1.4
5.3290705182008E-15

5,4-1,4 powinno być4 Jeśli dodam dwie wartości, wynik jest poprawny.

Gdzie jest mój błąd? Nie może to być kwestia zaokrąglania.

questionAnswers(3)

yourAnswerToTheQuestion