private int readExponent(int next, StringBuilder str) throws IOException {
		if (!isExponent(next)) {
			return next;
		}

		str.append((char) next);
		next = getChar();

		if (isNumber(next)) {
			str.append((char) next);
			next = getChar();
		}

		while (isDigit(next = getChar())) {
			str.append((char) next);
		}

		return next;
	}