ciao a tutti, sicuramente dovuta alla mia scarsa di conoscenza di php, questo codice:

<?php

$somma= "
17.99

17.99

20.99

9.99

18.75

18.75

14.99

5.49

6.49

14.99

19.99

10.49

8.49

9.99

7.99

15.99

2.99

2.99

2.99

2.99

2.99

0.80";

$asd = explode("\n", $somma);

$totale = 0.00;
foreach ($asd as $numero) {
if (trim($numero) != "" ) {
echo $totale;
echo " + ";
echo trim($numero);
echo " = ";
$gigi = trim($numero);
$totale = $gigi + $totale;
echo $totale;
echo "
";
}
}

?>

mi produce questo output:

0 + 17.99 = 17.989999999999998
17.989999999999998 + 17.99 = 35.979999999999997
35.979999999999997 + 20.99 = 56.969999999999999


come fa a fare 0 + 17.99, 17.989999999999998???

che cavolo di errore ho fatto per ottenere un risultato così assurdo?