def test_for_small_float(value: float, precision: int) -> bool:
    """
    Returns True if 'value' is a float whose rounded str representation
    has fewer significant figures than the number in 'precision'. 
    Return False otherwise.
    """
    if not isinstance(value, (float)):
        return False
    if value == 0:
        return False
    value_as_str = str(round(abs(value), precision))
    if "e" in str(value):
        return True
    if "." in value_as_str:
        left, *_right = value_as_str.split(".")
        if left != "0":
            return False
    if (
        round(value, precision) != round(value, precision + 1)
        or str(abs(round(value, precision))).replace("0", "").replace(".", "")
        == str(abs(round(value, precision + 1))).replace("0", "").replace(".", "")
        == ""
    ):
        return True
    else:
        return False