private int readFrac ( CharArr arr , int lim ) throws IOException { nstate = HAS_FRACTION ; // deliberate set instead of '|' while ( -- lim >= 0 ) { int ch = getChar ( ) ; if ( ch >= ' ' && ch <= ' ' ) { arr . write ( ch ) ; } else if ( ch == ' ' || ch == ' ' ) { arr . write ( ch ) ; return readExp ( arr , lim ) ; } else { if ( ch != - 1 ) start -- ; // back up return NUMBER ; } } return BIGNUMBER ; }
read digits right of decimal point