Ho questo script

somma = 38.73*10;
alert(somma);

e mi stampa 387.29999999eccecc.5

cosi, quando uso la funzioncina per troncare a due i decimali
parseInt(costo*100)/100;

mi stampa
387.29


a parte che non capisco perchè si comporti cosi... (quella moltiplicazione non dovrebbe dare 387,30?) .. esiste un modo per risolvere e fammi stampare il risultato giusto?