code: public static Vec stringToNumeric(Vec src) {
      if(!src.isString()) throw new H2OIllegalArgumentException("stringToNumeric conversion only works on string columns");
      Vec res = new MRTask() {
        @Override public void map(Chunk chk, NewChunk newChk){
          if (chk instanceof C0DChunk) { // all NAs
            for (int i=0; i < chk._len; i++)
              newChk.addNA();
          } else {
            BufferedString tmpStr = new BufferedString();
            for (int i=0; i < chk._len; i++) {
              if (!chk.isNA(i)) {
                tmpStr = chk.atStr(tmpStr, i);
                switch (tmpStr.getNumericType()) {
                  case BufferedString.NA:
                    newChk.addNA(); break;
                  case BufferedString.INT:
                    newChk.addNum(Long.parseLong(tmpStr.toString()),0); break;
                  case BufferedString.REAL:
                    newChk.addNum(Double.parseDouble(tmpStr.toString())); break;
                  default:
                    throw new H2OIllegalValueException("Received unexpected type when parsing a string to a number.", this);
                }
              } else newChk.addNA();
            }
          }
        }
      }.doAll(Vec.T_NUM, src).outputFrame().anyVec();
      assert res != null;
      return res;
    }
docs: Create a new {@link Vec} of numeric values from a string {@link Vec}. Any rows that cannot be
  converted to a number are set to NA.
  
  Currently only does basic numeric formats. No exponents, or hex values. Doesn't
  even like commas or spaces.  :( Needs love. Handling more numeric
  representations is PUBDEV-2209
  
  @param src a string {@link Vec}
  @return a numeric {@link Vec}