Tengo este problema de redondeo oscuro en VBA.VBA problema de redondeo
a = 61048.4599674847
b = 154553063.208822
c = a + b
debug.print c
Result:
154614111.66879
Aquí está la pregunta, ¿por qué VBA redondeó la variable c? No emití ninguna función de redondeo. El valor que esperaba era 154614111.6687894847. Incluso si redondeo o formato variables c a 15 lugares decimales, aún no obtengo el resultado esperado.
Cualquier explicación sería apreciada.
Editar:
obtuvo los resultados esperados utilizando CDEC. He leído esto en la respuesta de Jonathan Allen en Why does CLng produce different results?
Aquí está el resultado de la prueba:
a = cDec(61048.4599674847)
b = cDec(154553063.208822)
c = a + b
?c
154614111.6687894847
[aritmética de punto flotante puede dar resultados inexactos en Excel] (http://support.microsoft .com/kb/78113) – SeanC