change to `float(self)`