def METHOD_NAME(self, value: float) -> None:
    rang = self.range.get()
    # convert both value*range and the resolution factors
    # to strings with few digits, so we avoid floating point
    # rounding errors.
    res_fac_strs = [f"{v * rang:.1e}" for v in self._resolution_factor]
    if f"{value:.1e}" not in res_fac_strs:
        raise ValueError(
            f"Resolution setting {value:.1e} ({value} at range {rang}) "
            "does not exist. "
            f"Possible values are {res_fac_strs}"
        )
    self.write(f"VOLT:DC:RES {value:.1e}")
    # NPLC settings change with resolution
    self.NPLC.get()