Consider the code...
double first = 19.99;
double second = 19;
double firstPlusSecond = first + second;
Console.WriteLine("Result: " + firstPlusSecond);
The output of this is "Result: 38.99" - which is what I expect
However...inspecting firstPlusSecond in debug, the number is actually 38.989999999999995
Which is messing with calculations elsewhere in the program.
What...? What have I missed?