@staticmethod
def convert_nb(text):
    """Tries to convert the given the given text as a number.

        Also work with scientific notation like 1e+50.

        Arguments
        ---------
        text : string
            The text to convert.

        Result
        ------
        int or float

        Example
        -------

        >>> BaseParser('').convert_nb('1')
        1
        >>> BaseParser('').convert_nb('-3')
        -3
        >>> BaseParser('').convert_nb('0')
        0
        >>> BaseParser('').convert_nb('0.0')
        0.0
        >>> BaseParser('').convert_nb('1.0')
        1.0
        >>> BaseParser('').convert_nb('9999999999')
        9999999999
        >>> BaseParser('').convert_nb('1e+50')
        1e+50
        >>> BaseParser('').convert_nb('-2.5e33')
        -2.5e+33

        """
    try:
        return int(text)
    except ValueError:
        return float(text)
