Problemas de redondeo (II)

Después de mucho trastear, he decidido prescindir del almacenamiento de valores double en QByteArray, y emplear un valor double. Las distintas pruebas que he realizado me han demostrado donde estaba, realmente, el error. El almacenamiento es correcto, al igual que las operaciones realizadas sobre los datos double; sin embargo, el cambio de representación para presentar los datos doubles tanto en la interfaz (GUI) como en los streams de Qt realiza un redondeo de los valores por defecto. La forma de soslayar este problema, es convertir los valores double a un QByteArray para representarlo en la interfaz (en QLabel y bajo delegates) y en los QStreams. PERO, aunque la transformación es correcta, se trabaja con un límite de 6 decimales sin redondeo, y por encima de dichos valores se producen redondeos. Igualmente, se redondean los valores cuando la parte entera del número es abrumadoramente superior a la parte decimal (por ejemplo, 99999999999999999999,00000001 se convierte en un 99999999999999999999). Lo más seguro es, entonces, trabajar únicamente con seis decimales. En el caso de Salomon, no creo que sea necesario buscar más precisión.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s