Try Synsema
Entrar Crear cuenta

Balance al centavo

+30 xp

Estás en modo lectura. Crea una cuenta o entra para enviar tu solución y ganar estrellas. Puedes ejecutar código igual.

Tu programa
Así te va a probar Tomás (pruebas de la misión)
let CSV_BALANCE be `fecha,tipo,concepto,monto
2026-07-01,ingreso,honorarios,150000.50
2026-07-02,gasto,insumos,8400.25
2026-07-03,ingreso,consultoría,99.75
2026-07-04,gasto,servicios,1200.00`

let CSV_CENTAVOS be `fecha,tipo,concepto,monto
2026-07-01,ingreso,ajuste a,0.10
2026-07-02,ingreso,ajuste b,0.20`

test "ingresos exactos"
    assert_eq(ingresos_exactos(CSV_BALANCE), decimal("150100.25"))

test "gastos exactos"
    assert_eq(gastos_exactos(CSV_BALANCE), decimal("9600.25"))

test "saldo al centavo"
    assert_eq(saldo(CSV_BALANCE), decimal("140500.00"))

test "los centavos no se pierden (el bug del float no existe)"
    assert_eq(ingresos_exactos(CSV_CENTAVOS), decimal("0.30"))