ho una funzione che calcola un prezzo ivato in questo modo

Return prezzo + (prezzo * aliquota)

Quindi se io passo 150 come prezzo e come aliquota 0.04 (4%), dai calcoli dovrebbe venire:156.

Invece mi da 155.9999999356 ecc..

il tutto viene salvato così nel db....ma perchè!?