Tengo la siguiente función, el cual toma el total de la factura, suma los montos que se hán abonado, los resta y obtiene el total que falta por pagar:
function PagarTotal(){
var total_a_pagar = $('#total_a_pagar').val();
var pagado = 0;
for(i in pagos_adicionados){
pagado += Number(pagos_adicionados[i]['monto_pago']);
}
total_a_pagar = Number(total_a_pagar) - Number(pagado);
$('#monto_pago').val(total_a_pagar);
}
El problema es el siguiente, en una simple transacción, con una factura de $ 5.35, abono $ 2 y el total a pagar me devuelve 3.3499999999999996, no entiendo de donde salen tantos decimales, por logica al restar esto deberia dar un total de: $ 5.35 - $ 2 = $ 3.35
He intentado con parseFloat y con Number y con ambas funciones sucede lo mismo.
Nota: No puedo usar toFixed porque esto redondearia los montos y no es lo que necesito, toFixed es practicamente un PARCHE para solucionar termporalmente este error.