Sono riuscito a far funzionare i calcoli che deve fare, adesso ho due problemi sempre, (si aggiunto un altro )

1) sempre il problema dei decimali, o meglio a me serve che il javascript nel visualizzare il risultato invece di fare 1 mi dia 1.00

2) questi calcoli vanno in un cliclo in php o meglio i campi di input vengono generati direttamente dal php e lo script non funziona se ci sono input con lo stesso nome giustamente, come posso fare? vi metto il codice


codice HTML:
CODICE JAVASCRIPT

<script>
function percentuale() {
a = document.modificaprodotto.prezzo.value;
b = document.modificaprodotto.costo.value;
c = a-b;
d = c/b*100;
document.modificaprodotto.RicavoList.value = c;
document.modificaprodotto.RicavoListperc.value = d;
}
function roundTo(value, decimalpositions){ 
   var i = value * Math.pow(10,decimalpositions); 
   i = Math.round(i); 
   return i / Math.pow(10,decimalpositions);
} 
</script>

FORM

codice HTML:
<form name="modificaprodotto">    <input name="prezzo" type="number" step="0.00" onclick="percentuale()">     <input name="costo" value="0" step="0.00"> 
    <input name="RicavoList" value="0.00"><input name="RicavoListperc" value="0.00">
</form>   
i CAMPI input sono generati da un ciclo in php e quindi non funziona come posso fare?