code: def parseMagnitude(m):
          
          m = NumberService().parse(m)
  
          def toDecimalPrecision(n, k):
              return float("%.*f" % (k, round(n, k)))
  
          # Cast to two digits of precision
          digits = 2
          magnitude = toDecimalPrecision(m, digits)
  
          # If value is really small, keep going
          while not magnitude:
              digits += 1
              magnitude = toDecimalPrecision(m, digits)
  
          # If item is less than one, go one beyond 'necessary' number of digits
          if m < 1.0:
              magnitude = toDecimalPrecision(m, digits + 1)
  
          # Ignore decimal accuracy if irrelevant
          if int(magnitude) == magnitude:
              magnitude = int(magnitude)
  
          # Adjust for scientific notation
          magString = str(magnitude)
          magString = re.sub(r'(\d)e-(\d+)',
                             '\g<1> times ten to the negative \g<2>', magString)
          magString = re.sub(r'(\d)e\+(\d+)',
                             '\g<1> times ten to the \g<2>', magString)
          magString = re.sub(r'-(\d+)', 'negative \g<1>', magString)
          magString = re.sub(r'\b0(\d+)', '\g<1>', magString)
          return magString
docs: Parses a number m into a human-ready string representation.
          For example, crops off floats if they're too accurate.
  
          Arguments:
              m (float): Floating-point number to be cleaned.
  
          Returns:
              Human-ready string description of the number.