private double readFractions() throws IOException {
    int c;
    int ret = 0;
    int order = 1;

    while (Character.isDigit(c = read(false))) {
      ret = ret * 10 + (c - '0');
      order *= 10;
    }

    if (c != -1) {
      unread(c);
    }

    return (double) ret / order;
  }
Read fractions (digits after a decimal point.)

@return a value in the range [0, 1).
ql/src/java/org/apache/hadoop/hive/ql/log/syslog/SyslogParser.java