code: def getExponentialFormatPrecision(self, result=None):
          
          if not result or self.getPrecisionFromUncertainty() is False:
              return self._getExponentialFormatPrecision()
          else:
              uncertainty = self.getUncertainty(result)
              if uncertainty is None:
                  return self._getExponentialFormatPrecision()
  
              try:
                  float(result)
              except ValueError:
                  # if analysis result is not a number, then we assume in range
                  return self._getExponentialFormatPrecision()
  
              return get_significant_digits(uncertainty)
docs: Returns the precision for the Analysis Service and result
          provided. Results with a precision value above this exponential
          format precision should be formatted as scientific notation.
  
          If the Calculate Precision according to Uncertainty is not set,
          the method will return the exponential precision value set in the
          Schema. Otherwise, will calculate the precision value according to
          the Uncertainty and the result.
  
          If Calculate Precision from the Uncertainty is set but no result
          provided neither uncertainty values are set, returns the fixed
          exponential precision.
  
          Will return positive values if the result is below 0 and will return
          0 or positive values if the result is above 0.
  
          Given an analysis service with fixed exponential format
          precision of 4:
          Result      Uncertainty     Returns
          5.234           0.22           0
          13.5            1.34           1
          0.0077          0.008         -3
          32092           0.81           4
          456021          423            5
  
          For further details, visit https://jira.bikalabs.com/browse/LIMS-1334
  
          :param result: if provided and "Calculate Precision according to the
          Uncertainty" is set, the result will be used to retrieve the
          uncertainty from which the precision must be calculated. Otherwise,
          the fixed-precision will be used.
          :returns: the precision