code: def getPrecision(self, result=None):
          
          allow_manual = self.getAllowManualUncertainty()
          precision_unc = self.getPrecisionFromUncertainty()
          if allow_manual or precision_unc:
              uncertainty = self.getUncertainty(result)
              if uncertainty is None:
                  return self.getField('Precision').get(self)
              if uncertainty == 0 and result is None:
                  return self.getField('Precision').get(self)
              if uncertainty == 0:
                  strres = str(result)
                  numdecimals = strres[::-1].find('.')
                  return numdecimals
              return get_significant_digits(uncertainty)
          return self.getField('Precision').get(self)
docs: Returns the precision for the Analysis.
  
          - If ManualUncertainty is set, calculates the precision of the result
            in accordance with the manual uncertainty set.
  
          - If Calculate Precision from Uncertainty is set in Analysis Service,
            calculates the precision in accordance with the uncertainty infered
            from uncertainties ranges.
  
          - If neither Manual Uncertainty nor Calculate Precision from
            Uncertainty are set, returns the precision from the Analysis Service
  
          - If you have a number with zero uncertainty: If you roll a pair of
          dice and observe five spots, the number of spots is 5. This is a raw
          data point, with no uncertainty whatsoever. So just write down the
          number. Similarly, the number of centimeters per inch is 2.54,
          by definition, with no uncertainty whatsoever. Again: just write
          down the number.
  
          Further information at AbstractBaseAnalysis.getPrecision()