Hola ojalá puedan orientarme un poco
anda desarrollando una función que me suma un array de inputs.
Código Javascript
:
Ver originalfunction validaImporte() {
var importes = document.getElementsByName('importePedido[]');
var total = 0;
var importeTotal = document.getElementById('importeTotal').value;
for(var i = 0; i < importes.length; i++) {
total = total * 100;
total = Math.floor(total);
total = total / 100;
total += parseFloat(importes[i].value) || 0;
}
if(total == importeTotal){
//habilita un botón para registrar los importes
}else{
alert(total + " != " + importeTotal );
}
}
acá mi html
Código HTML:
Ver original<input type="text" id="a" name="importePedido[]" value="18588.42"><br> <input type="text" id="a" name="importePedido[]" value="47453.28"><br> <input type="text" id="a" name="importePedido[]" value="70094.16"><br> <input type="text" id="a" name="importePedido[]" value="144736.69"><br> <p>Total de factura
<br><input type="text" id="importeTotal" value="280872.54"></p> <input type="button" value="validaImporte" onclick="validaImporte()"><br>
al oprimir el botón de validaImporte como resultado me arroja
280872.54000000004 != 280872.54
mi pregunta es como puedo mejorar mi función para que me limite los decimales a solo 2 en lugar de 280872.54000000004
me he encontrado con toFixed la cual no me funciona porque me redondea el resultado y como trabajo con cantidades exactas como dinero debe precisa la suma
hay alguna función para hacer sumas de dinero? como puedo limitar mi resultado a solo dos decimales???
bueno espero haberme dado a entender la verdad esto ya me complico bastante ya que ando iniciando con javascript
muchas gracias por ayuda!