A general method for parsing word-representations of numbers.
        Supports floats and integers.

        Args:
            words (str): Description of an arbitrary number.

        Returns:
            A double representation of the words.

def parse(self, words):
        """A general method for parsing word-representations of numbers.
        Supports floats and integers.

        Args:
            words (str): Description of an arbitrary number.

        Returns:
            A double representation of the words.
        """
        def exact(words):
            """If already represented as float or int, convert."""
            try:
                return float(words)
            except:
                return None

        guess = exact(words)
        if guess is not None:
            return guess

        split = words.split(' ')

        # Replace final ordinal/fraction with number
        if split[-1] in self.__fractions__:
            split[-1] = self.__fractions__[split[-1]]
        elif split[-1] in self.__ordinals__:
            split[-1] = self.__ordinals__[split[-1]]

        parsed_ordinals = ' '.join(split)

        return self.parseFloat(parsed_ordinals)