Skip to content

Bug: roundTo produce resultados incorrectos con números negativos #14

Description

@sre-helmcode

Tipo de problema

Bug

Descripción

La función roundTo usa int(f*100+0.5) para redondear, lo cual produce resultados incorrectos con valores negativos. La biblioteca estándar de Go proporciona math.Round que maneja correctamente estos casos.

Localización

  • internal/report/json.go:L506-L515

Impacto

Informes de costes con valores negativos (créditos, reembolsos) mostrarán valores redondeados incorrectos.

Evidencia

func roundTo(f float64, decimals int) float64 {
    pow := math.Pow(10, float64(decimals))
    return float64(int(f*pow+0.5)) / pow  // Incorrecto para negativos
}

Sugerencia de solución

Reemplazar con math.Round(f * pow) / pow.

Detectado por

QA Agent / Calidad Agent

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions