Try to convert the data into ``int`` or ``float``.

        :returns: ``Decimal`` or ``data`` if conversion fails.

def _try_parse_basic_number(self, data):
        """ Try to convert the data into ``int`` or ``float``.

        :returns: ``Decimal`` or ``data`` if conversion fails.
        """

        # try int first
        try:
            return int(data)
        except ValueError:
            pass
        # try float next
        try:
            return float(data)
        except ValueError:
            pass
        # no luck, return data as it is
        return data