Explain why Access.Application.Eval()
(commonly abbreviated as Eval()
) produces a different result than just evaluating the original expression in this case:
Debug.Print Round(.575 * 100)
57
Debug.Print Eval("Round(.575 * 100)")
58
EDIT: To address GSerg's answer, the following still returns different results:
Debug.Print Eval("Round(CSng(.575) * 100)")
57
Debug.Print Round(CSng(.575) * 100)
58
Debug.Print Round(0.575#*100.0#), Round(57.5#*1.0#)
returns57 58
? – Jean-François Corbett