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;