private String getNumber(int next) throws IOException {
		StringBuilder str = new StringBuilder();
		boolean hasDecimalPlace = false;

		while (isDigit(next) || (!hasDecimalPlace && next == '.')) {
			str.append((char) next);
			if (next == '.') {
				hasDecimalPlace = true;
			}
			next = getChar();
		}
		next = readExponent(next, str);
		ungetChar(next);
		return str.toString();
	}