<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def string_to_general_float(s: str) -> float: """ Convert a string to corresponding single or double precision scientific number. :param s: a string could be '0.1', '1e-5', '1.0D-5', or any other validated number :return: a float or raise an error .. doctest:: 1e-05 Traceback (most recent call last):
 ValueError: The string '1Dx' does not corresponds to a double precision number! 8e+233 0.1 """

    if 'D' in s.upper():  # Possible double precision number
        try:
            return string_to_double_precision_float(s)
        except ValueError:
            raise ValueError(
                "The string '{0}' does not corresponds to a double precision number!".format(s))
    else:
        return float(s)