tft.drawFloat confusion

5/1000 uses integer arithmetic, even if you are storing the result in a float. The compiler doesn't look ahead. It evaluates 5/1000 (equals 0 in integer math) and then it looks at the type of the variable on the left of the assignment operator.

Try...

Value2 = (float)5 / 1000;

Or...

Value2 = 5.0 / 1000;