waterml/src/main/java/ucar/nc2/ogc/erddap/util/ErddapString2.java
public static long parseLong(String s) {
        //quickly reject most non-numbers
        //This is a huge speed improvement when parsing ASCII data files
        //  because Java is very slow at filling in the stack trace when an exception is thrown.
        if (s == null)
            return Long.MAX_VALUE;
        s = s.trim();
        if (s.length() == 0)
            return Long.MAX_VALUE;
        char ch = s.charAt(0);
        if ((ch < '0' || ch > '9') && ch != '-' && ch != '+')
            return Long.MAX_VALUE;

        try {
            if (s.startsWith("0x"))
                return Long.parseLong(s.substring(2), 16);
            return Long.parseLong(s);
        } catch (Exception e) {
            return Long.MAX_VALUE;
        }
    }
public static long parseLong(String s) {
        //quickly reject most non-numbers
        //This is a huge speed improvement when parsing ASCII data files
        //  because Java is very slow at filling in the stack trace when an exception is thrown.
        if (s == null)
            return Long.MAX_VALUE;
        s = s.trim();
        if (s.length() == 0)
            return Long.MAX_VALUE;
        char ch = s.charAt(0);
        if ((ch < '0' || ch > '9') && ch != '-' && ch != '+')
            return Long.MAX_VALUE;

        try {
            if (s.startsWith("0x"))
                return Long.parseLong(s.substring(2), 16);
            return Long.parseLong(s);
        } catch (Exception e) {
            return Long.MAX_VALUE;
        }
    }
public static long parseLong ( String s ) { //quickly reject most non-numbers //This is a huge speed improvement when parsing ASCII data files //  because Java is very slow at filling in the stack trace when an exception is thrown. if ( s == null ) return Long . MAX_VALUE ; s = s . trim ( ) ; if ( s . length ( ) == 0 ) return Long . MAX_VALUE ; char ch = s . charAt ( 0 ) ; if ( ( ch < ' ' || ch > ' ' ) && ch != ' ' && ch != ' ' ) return Long . MAX_VALUE ; try { if ( s . startsWith ( "0x" ) ) return Long . parseLong ( s . substring ( 2 ) , 16 ) ; return Long . parseLong ( s ) ; } catch ( Exception e ) { return Long . MAX_VALUE ; } }
This converts String representation of a long.
Leading or trailing spaces are automatically removed.
This *doesn't* round. So floating point values lead to Long.MAX_VALUE.

@param s a valid String representation of a long value
@return a long (or Long.MAX_VALUE if trouble).
This converts String representation of a long . Leading or trailing spaces are automatically removed . This * doesn t * round . So floating point values lead to Long . MAX_VALUE .