def prettyBigNum(amount, remove_zeroes: bool = True) -> str:
    """Prints, for example:
    1.23e12, 123.4B, 1.23B, 123M, 1.23M, 123K, 1.23K, 123,
    1.23, 0.12, 1.23e-3,
    1e12, 100B, 1B, 100M, 1M, 100K, 1K, 100, 1

    Remove zeros True vs False: 1.00M vs 1M
    """
    if remove_zeroes:
        amount = float(f"{amount:.2e}")  # reduce to 3 sig figs
    if amount == 0:
        return "0"

    a = abs(amount)

    if a >= 1e12 or a < 1e-1:
        s = format(a, ".2e").replace("e+", "e").replace("e0", "e").replace("e-0", "e-")
        base = "e"
        s = s.replace("e", "X")
    elif a >= 1e9:
        s = f"{a/1e9:.2f}X"
        base = "B"
    elif a >= 1e6:
        s = f"{a/1e6:.2f}X"
        base = "M"
    elif a >= 1e3:
        s = f"{a/1e3:.2f}X"
        base = "K"
    else:
        s = f"{a:.2f}X"
        base = ""

    if remove_zeroes:
        s = s.replace("0X", "X").replace(".0X", "X")

    s = s.replace("X", base)

    if amount < 0:
        s = "-" + s

    return s