private double ReadInteger(double initialValue, out int digitsRead) { double result = initialValue; digitsRead = 0; while (true) { int c = this.reader.Peek(); if (c < '0' || c > '9') break; ReadNextChar(); digitsRead++; result = result * 10 + (c - '0'); } return result; }