Skip to content
  • Resta de doubles devuelve 1.13687e-13

    Unsolved Spanish
    5
    0 Votes
    5 Posts
    2k Views
    JoanJinglesJ

    @juanki

    Parece que he encontrado una explicación al problema: http://www.javamexico.org/blogs/luxspes/por_que_usar_bigdecimal_y_no_double_para_calculos_aritmeticos_financieros

    Por ahora lo resuelvo así:

    QListA.insert(c, QString::number(QListB.at(c) - QListC.at(c), 'f', 2).toDouble());

    Utilizo QString para forzar los decimales y redondear.
    Encontré esta solución aquí: http://www.qtforum.org/article/29565/output-a-double-to-only-2-decimal-points.html

    Sigo sin estar seguro si esta es la mejor manera de hacer un cálculo monetario de precisión. ¿Hay alguna otra manera de hacer esta operación sin margen de error?