code: def _get_precision_scale(self, number):
          
          try:
              decimal_num = Decimal(number)
          except InvalidOperation:
              raise Invalid(self.msg or 'Value must be a number enclosed with string')
  
          return (len(decimal_num.as_tuple().digits), -(decimal_num.as_tuple().exponent), decimal_num)
docs: :param number:
          :return: tuple(precision, scale, decimal_number)