def value_unit_to_number(self, param, value):
     # string is of the form "32.3L"
     unit = value[-1]
     #v = float(value[:-1])
     v = self.str_to_float(param, value[:-1])
     if (Unit.get(param) != unit):
         v = Unit.convert(unit, Unit.get(param), v)
     return round(v, self.precision)
 def value_space_unit_to_number(self, param, value):
     # default format is "<value> <unit>"
     if (value == "-"):
         raise InvalidValueException(param, value)
     parts = value.split()
     unit = parts[1]
     if (unit == "min/mi" and (":" in parts[0])):
         v_parts = parts[0].split(":")
         #v = float(v_parts[0]) + float(v_parts[1])/60.0  # convert to float minutes value
         v = self.str_to_float(param, v_parts[0]) + self.str_to_float(param, v_parts[1])/60.0  # convert to float minutes value
     else:
         #v = float(parts[0])
         v = self.str_to_float(param, parts[0])
     if (Unit.get(param) != unit):
         v = Unit.convert(unit, Unit.get(param), v)
     return round(v, self.precision)