docs: protected String formatNumStr(int bits, HashMap m, Object key, String defVal) {
  
          String ret = "";
          String str = getObjectOr(m, key, defVal);
          String[] inputStr = str.split("\\.");
          if (str.trim().equals("")) {
              return String.format("%" + bits + "s", defVal);
          } else if (str.length() <= bits) {
              ret = String.format("%1$" + bits + "s", str);
          } else if (inputStr[0].length() > bits) {
              //throw new Exception();
              sbError.append("! Waring: There is a variable [").append(key).append("] with oversized number [").append(ret).append("] (Limitation is ").append(bits).append(" bits)\r\n");
              return String.format("%" + bits + "s", defVal);
          } else {
              int decimalLength = bits - inputStr[0].length() - 1;
              decimalLength = decimalLength < 0 ? 0 : decimalLength;
              ret = org.agmip.common.Functions.round(str, decimalLength);
          }
  
          return ret;
      }