Use a safe_float function to store a float

And making the logic shorter as well (short is good, right?)

If we wouldn't do something like this, we would need:
if self._partial_coords_uneq(latitude, target.latitude):
    it latitude is None:
        target.latitude = None
    else:
        target.latitude = float(latitude)

thus complication things again