Quote Originariamente inviata da ANTAGONIA Visualizza il messaggio
Buongiorno a tutti.
Le sto provando tutte, ma non riesco.
Faccio la somma di due numeri: 10,00 + 10,01
Codice PHP:
$_POST['v4'] = str_replace(",",".",$_POST['v4']);$_POST['v5'] = str_replace(",",".",$_POST['v5']);$somma2 floatval($_POST['v4'] + $_POST['v5']);echo $somma2
Il risultato � questo: 20.009999999999998
Invece dovrebbe essere questo: 20,01

Ho provato con number_format(), ma niente.
Codice PHP:
number_format($somma2);
number_format($somma2,2); 
Ho provato number_format, togliendo il floatval, ma niente.

Altre soluzioni?
Grazie mille.

non capisco perchè devi arrotondare o cos'altro...
a livello matematico 10.00+10.01 fa già = 20.01

se tu aspetti tale risultato non devo fare molto se non una cosa di questo tipo

function ReplaceMe($data){
$val = str_replace(",",".",$data);
return $val;
}




$a = ReplaceMe('10,00');
$b = ReplaceMe('10,01');


echo ($a+$b).'<hr>'; // torna 20.01