That looks like a precision error to me: if you assign 67+4/5 to a float variable and print that, you'll get pretty much the same! The reason is that floats and doubles are internally converted to and stored as binary numbers which cannot accurately store a number like 4/5 anymore than in decimal you cannot accurately store 1/3 (at best you can write 0.333... , with as much digits as your storage allows).
Depending on which method you use for printing this variable, you can limit the output to less digits:
cout << setprecision(8) << var << endl; cout <<fixed <<setprecision(6) << var << endl;
for more info on using