Summary of the problem:
For some decimal values, when we convert the type from decimal to double, a small fraction is added to the result.
What makes it wors
This is an old problem, and has been the subject of many similar questions on StackOverflow.
The simplistic explanation is that decimal numbers can't be exactly represented in binary
This link is an article which might explain the problem.