it is not an unexpected output...
remember everything is stored at the end of the day as binary number only...

now try representing it 65.8 in binary...u can only get close to 65.8 and never equal to 65.8...

make it
Code:
double i = 65.8
and ur problem will be resolved as the resolution of the number increases and hence u see the truncated output which is 65.8 !!