Seen some other questions but none have answered this particular case
val = "0.000"
print val
0.000
f = float(val)
print f
0.0
How can I keep these as floats but force them to be the exact value of 0.000?
The float values 0.0 and 0.000 are indistinguishable from one another: they are represented by exactly the same bit pattern.
You'd have to use a different data type -- such as a string or Decimal -- if you want to preserve the zeroes:
In [7]: from decimal import Decimal
In [8]: d1 = Decimal("0.0")
In [9]: d2 = Decimal("0.000")
In [10]: str(d1)
Out[10]: '0.0'
In [11]: str(d2)
Out[11]: '0.000'
0.0same as0.0000? Some other example would have been better0.0 == 0.0000 = True