def set_str2(s, base, context=None):
    """
    Convert the string ``s`` in base ``base`` to a BigFloat instance, rounding
    according to the current context.

    Raise ValueError if ``s`` doesn't represent a valid string in the given
    base.

    """
    return _apply_function_in_current_context(
        BigFloat,
        _set_from_whole_string,
        (s, base),
        context,
    )