Tengo un poco de código que dice algo como esto:
function getTotal() { let total = 0; for (let i = 0; i < 5; i++) { let N = couldReturnANumberOrUndefined() | 0.00; total += N; } return total; } function couldReturnANumberOrUndefined() { const r = Math.floor(Math.random() * 2); if (r === 0) { return undefined; } else { return 1.5; } }La idea es que si la función devuelve indefinido, simplemente decimos que fue 0.00, de ahí la tubería.
El problema es que cuando debería devolver 1,5, y puedo ver en el depurador que el valor devuelto es de hecho 1,5, en el momento en que se pone en precio, siempre se trunca al valor entero más bajo, y tengo ni idea de por qué
Intenté poner .toFixed(2) al final de la variable de precio en varias configuraciones, pero eso no funcionó.
¿Alguien sabe por qué es esto y cómo detenerlo?
¡Muchas gracias!