docs: def _format_to_floating_precision(self, precision):
          """ Format a nonzero finite BigFloat instance to a given number of
          significant digits.
  
          Returns a triple (negative, digits, exp) where:
  
            - negative is a boolean, True for a negative number, else False
            - digits is a string giving the digits of the output
            - exp represents the exponent of the output,
  
          The normalization of the exponent is such that <digits>E<exp>
          represents the decimal approximation to self.
  
          Rounding is always round-to-nearest.
          """
          if precision <= 0:
              raise ValueError("precision argument should be at least 1")
  
          sign, digits, exp = _mpfr_get_str2(
              10,
              precision,
              self,
              ROUND_TIES_TO_EVEN,
          )
  
          return sign, digits, exp - len(digits)