public static BigInteger newBigInteger(String str) {
		str = StrUtil.trimToNull(str);
		if (null == str) {
			return null;
		}

		int pos = 0; // 数字字符串位置
		int radix = 10;
		boolean negate = false; // 负数与否
		if (str.startsWith("-")) {
			negate = true;
			pos = 1;
		}
		if (str.startsWith("0x", pos) || str.startsWith("0X", pos)) {
			// hex
			radix = 16;
			pos += 2;
		} else if (str.startsWith("#", pos)) {
			// alternative hex (allowed by Long/Integer)
			radix = 16;
			pos++;
		} else if (str.startsWith("0", pos) && str.length() > pos + 1) {
			// octal; so long as there are additional digits
			radix = 8;
			pos++;
		} // default is to treat as decimal

		if (pos > 0) {
			str = str.substring(pos);
		}
		final BigInteger value = new BigInteger(str, radix);
		return negate ? value.negate() : value;
	}
public static BigInteger newBigInteger ( String str ) { str = StrUtil . trimToNull ( str ) ; if ( null == str ) { return null ; } int pos = 0 ; int radix = 10 ; boolean negate = false ; if ( str . startsWith ( "-" ) ) { negate = true ; pos = 1 ; } if ( str . startsWith ( "0x" , pos ) || str . startsWith ( "0X" , pos ) ) { radix = 16 ; pos += 2 ; } else if ( str . startsWith ( "#" , pos ) ) { radix = 16 ; pos ++ ; } else if ( str . startsWith ( "0" , pos ) && str . length ( ) > pos + 1 ) { radix = 8 ; pos ++ ; } if ( pos > 0 ) { str = str . substring ( pos ) ; } final BigInteger value = new BigInteger ( str , radix ) ; return negate ? value . negate ( ) : value ; }
创建{@link BigInteger}，支持16进制、10进制和8进制，如果传入空白串返回null<br>
from Apache Common Lang

@param str 数字字符串
@return {@link BigInteger}
@since 3.2.1