import decimal


def has_number_type(value):
    """
    Is a value a number or a non-number?

    >>> has_number_type(3.5)
    True

    >>> has_number_type(3)
    True

    >>> has_number_type(decimal.Decimal("3.5"))
    True

    >>> has_number_type("3.5")
    False

    >>> has_number_type(True)
    False
    """
    return isinstance(value, (int, float, decimal.Decimal)) and not isinstance(value, bool)