/** * parse an int within a range * @param buffer input string * @return value */ public static int parseInt( String buffer, int from, int to ) { return CharScanner.parseInt( FastStringUtils.toCharArray(buffer), from , to ); }
@Override public int intValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return 0; } }
/** * parse an int within a range * @param buffer input string * @return value */ public static int parseInt( String buffer ) { return CharScanner.parseInt( FastStringUtils.toCharArray(buffer) ); }
/** * parse an int within a range * @param buffer input string * @return value */ public static int parseInt( String buffer, int from, int to ) { return CharScanner.parseInt( FastStringUtils.toCharArray(buffer), from , to ); }
/** * parse an int within a range * @param buffer input string * @return value */ public static int parseInt( String buffer ) { return CharScanner.parseInt( FastStringUtils.toCharArray(buffer) ); }
/** * parse an int within a range * @param buffer input string * @return value */ public static int parseInt( String buffer, int from, int to ) { return CharScanner.parseInt( FastStringUtils.toCharArray(buffer), from , to ); }
@Override public int intValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return 0; } }
@Override public int intValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return die(int.class, "not an int"); } }
@Override public int intValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return die(int.class, "not an int"); } }
@Override public long longValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return parseLong(buffer, startIndex, endIndex); } }
@Override public long longValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return parseLong(buffer, startIndex, endIndex); } }
@Override public int intValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else { return die(int.class, "not an int"); } }
@Override public long longValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else if( isLong( buffer, startIndex, endIndex - startIndex)){ return parseLong(buffer, startIndex, endIndex); } else { return 0L; } }
@Override public long longValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else if( isLong( buffer, startIndex, endIndex - startIndex)){ return parseLong(buffer, startIndex, endIndex); } else { return 0L; } }
@Override public long longValue () { if ( isInteger ( buffer, startIndex, endIndex - startIndex ) ){ return parseInt(buffer, startIndex, endIndex); } else if( isLong( buffer, startIndex, endIndex - startIndex)){ return parseLong(buffer, startIndex, endIndex); } else { return 0L; } }
@Test public void parseIntMin() { boolean ok = true; int i = 0; i = CharScanner.parseInt( ("" + Integer.MIN_VALUE).toCharArray() ); ok &= i == Integer.MIN_VALUE || die( "i", i, "MIN", Integer.MIN_VALUE); }
@Test public void parseIntMax() { boolean ok = true; int i = 0; i = CharScanner.parseInt( ("" + Integer.MAX_VALUE).toCharArray() ); ok &= i == Integer.MAX_VALUE || die( "i", i, "MAX", Integer.MAX_VALUE); }
private final Object decodeNumber(boolean negative) { char[] chars = characterSource.readNumber (); Object value = null; if ( CharScanner.hasDecimalChar ( chars, negative ) ) { value = CharScanner.parseDouble( chars ); } else if (CharScanner.isInteger ( chars )) { value = CharScanner.parseInt ( chars ); } else if (CharScanner.isLong( chars )) { value = CharScanner.parseLong ( chars ); } return value; }
private final Object decodeNumber(boolean negative) { char[] chars = characterSource.readNumber (); Object value = null; if ( CharScanner.hasDecimalChar ( chars, negative ) ) { value = CharScanner.parseDouble( chars ); } else if (CharScanner.isInteger ( chars )) { value = CharScanner.parseInt ( chars ); } else if (CharScanner.isLong( chars )) { value = CharScanner.parseLong ( chars ); } return value; }
@Test public void parseLongTest() { long value = CharScanner.parseLong( "-22".toCharArray() ); boolean ok = value == -22L || die( "" + value); value = CharScanner.parseInt( "22".toCharArray() ); ok = value == 22 || die( "" + value); }