When I code
var H:double;
For H in [0.001, (1/2), (7/10), 0.999] do ShowMessage(FloatToStr(H));
then the numbers displayed are as you would expect: 0.001, 0.5, 0.7, 0.999
But when I code
For H in [0.001, 0.5, 0.7, 0.999] then ShowMessage(FloatToStr(H));
I see : 0.001, Nan, 0.7, 0.999