docs: def t_NUMBER(self, t):
          r'(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?(kb|gb|mb|tb|pb|Kb|Gb|Mb|Tb|Pb)?'
          if re.match(r'^(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?(kb|gb|mb|tb|pb|Kb|Gb|Mb|Tb|Pb)?$',t.value):
              multiplyer = 1
              try:
                  suffix = (t.value[-2:]).lower()
                  if suffix in ['kb']:
                      multiplyer = 1024
                  elif suffix in ['mb']:
                      multiplyer = 1024*1024
                  elif suffix in ['gb']:
                      multiplyer = 1024*1024*1024
                  elif suffix in ['tb']:
                      multiplyer = 1024*1024*1024*1024
                  elif suffix in ['pb']:
                      multiplyer = 1024*1024*1024*1024*1024
                  
                  if multiplyer > 1:
                      t.value = t.value[:-2]
              except:
                  pass
              
              try:
                  f = float(t.value)
                  try:
                      e = int(t.value)
                  except ValueError:
                      e = f
                      
                  if (e == f):
                      t.value = multiplyer*e
                  else:
                      t.value = multiplyer*f
              except ValueError:
                  _LOGGER.error("el valor %s no es un numero valido" % t.value)
                  t.value = 0
          else:
              t.type = 'STRING'
              
          return t