Reads the current available value as a double.
If the underlying probe provides a long value, then the value will
be converted to a floating point value.
If no probe is available, or there are problems obtaining a value
from the probe, 0 is returned.