def format_number(price: float) -> str:
    """
    Format large numbers to make them more readable with K, M,
    and B suffixes.

    :param price: The price of interest.
    :return: A string containing the price formatted with a suffix.
    """
    is_negative = price < 0
    prefix = '-' if is_negative else ''
    if is_negative:
        price = -price
    cutoffs = [(1e9, 'B'), (1e6, 'M'), (1e3, 'K'), (1, '')]
    for cutoff, suffix in cutoffs:
        if price >= cutoff:
            number = f'{price / cutoff:.2f}'
            while len(number) > 4 or number[-1] == '.':
                number = number[:-1]
            return prefix + number + suffix
    return f'{price:.2f}'