else if (i == len) return Double.parseDouble(toString()); else return Double.parseDouble(new String(_buffer, 0, i));
try { if (i == len) return Double.parseDouble(toString()); else return Double.parseDouble(new String(_buffer, 0, i)); } catch (NumberFormatException e) { return 0; }
  public double toDouble()  {    char []buffer = _buffer;    int len = _length;    int i = 0;    int ch = 0;    if (i < len && ((ch = buffer[i]) == '+' || ch == '-')) {      i++;    }    for (; i < len && '0' <= (ch = buffer[i]) && ch <= '9'; i++) {    }    if (ch == '.') {      for (i++; i < len && '0' <= (ch = buffer[i]) && ch <= '9'; i++) {      }    }    if (ch == 'e' || ch == 'E') {      int e = i++;      if (i < len && (ch = buffer[i]) == '+' || ch == '-') {        i++;      }      for (; i < len && '0' <= (ch = buffer[i]) && ch <= '9'; i++) {      }      if (i == e + 1)        i = e;    }    if (i == 0)      return 0;    else if (i == len)      return Double.parseDouble(toString());    else      return Double.parseDouble(new String(_buffer, 0, i));  }