Class JavaBigIntegerParser
BigInteger value; the supported syntax is compatible
with BigInteger(String, int).
Syntax
Formal specification of the grammar:
- BigIntegerString:
- [Sign] Digits
- Sign:
- (one of)
+ -
- Digits:
- Digit {Digit}
- Digit:
- (one of)
0 1 2 3 4 5 6 7 8 9a b c d e f g h i j k l m n o p q r s t u v w x y zA B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Character lengths accepted by BigInteger(String):
BigIntegerString:Integer.MAX_VALUE- 4.If the significand consists only of zero digits, the length is only limited by the maximal supported length of a Java array.
radix=10If the significand contains at least one non-zero digit, the length is limited to
index of first non-zero digit + 646_456_993. This is because the resulting value must fit into2^31 - 1bits. The decimal representation of the value2^31 - 1needs 646,456,993 digits. Therefore an input String can only contain up to that many significant digits - the remaining digits must be leading zeroes.radix=16If the significand contains at least one non-zero digit, the length is limited to
index of first non-zero digit + 536_870_912. This is because the resulting value must fit into2^31 - 1bits. The hexa-decimal representation of the value2^31 - 1needs 536,870,912 digits. Therefore an input String can only contain up to that many significant digits - the remaining digits must be leading zeroes.
References:
- Java SE 17 & JDK 17, JavaDoc, Class BigInteger
- docs.oracle.com
-
Method Summary
Modifier and TypeMethodDescriptionstatic BigIntegerparseBigInteger(byte[] str) Convenience method for callingparseBigInteger(byte[], int, int).static BigIntegerparseBigInteger(byte[] str, int radix) Convenience method for callingparseBigInteger(byte[], int, int, int).static BigIntegerparseBigInteger(byte[] str, int offset, int length) static BigIntegerparseBigInteger(byte[] str, int offset, int length, int radix) static BigIntegerparseBigInteger(char[] str) Convenience method for callingparseBigInteger(char[], int, int).static BigIntegerparseBigInteger(char[] str, int radix) Convenience method for callingparseBigInteger(char[], int, int, int).static BigIntegerparseBigInteger(char[] str, int offset, int length) static BigIntegerparseBigInteger(char[] str, int offset, int length, int radix) static BigIntegerConvenience method for callingparseBigInteger(CharSequence, int, int).static BigIntegerparseBigInteger(CharSequence str, int radix) Convenience method for callingparseBigInteger(CharSequence, int, int, int).static BigIntegerparseBigInteger(CharSequence str, int offset, int length) Convenience method for callingparseBigInteger(CharSequence, int, int, int).static BigIntegerparseBigInteger(CharSequence str, int offset, int length, int radix)
-
Method Details
-
parseBigInteger
Convenience method for callingparseBigInteger(CharSequence, int, int).- Parameters:
str- the string to be parsed- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Convenience method for callingparseBigInteger(CharSequence, int, int, int).- Parameters:
str- the string to be parsedradix- the radix to be used in interpreting thestr- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Convenience method for callingparseBigInteger(CharSequence, int, int, int).- Parameters:
str- the string to be parsedoffset- The index of the first character to parselength- The number of characters to parse- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullIllegalArgumentException- if offset or length are illegalNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
- Parameters:
str- the string to be parsedoffset- The index of the first character to parselength- The number of characters to parseradix- the radix to be used in interpreting thestr- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullIllegalArgumentException- if offset or length are illegalNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Convenience method for callingparseBigInteger(byte[], int, int).- Parameters:
str- the string to be parsed- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Convenience method for callingparseBigInteger(byte[], int, int, int).- Parameters:
str- the string to be parsedradix- the radix to be used in interpreting thestr- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Parses aBigIntegerStringfrom abyte-Array and converts it into aBigIntegervalue.See
JsonDoubleParserfor the syntax ofFloatingPointLiteral.- Parameters:
str- the string to be parsed, a byte array with characters in ISO-8859-1, ASCII or UTF-8 encodingoffset- The index of the first character to parselength- The number of characters to parse- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullIllegalArgumentException- if offset or length are illegalNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Parses aBigIntegerStringfrom abyte-Array and converts it into aBigIntegervalue.See
JsonDoubleParserfor the syntax ofFloatingPointLiteral.- Parameters:
str- the string to be parsed, a byte array with characters in ISO-8859-1, ASCII or UTF-8 encodingoffset- The index of the first character to parselength- The number of characters to parseradix- the radix to be used in interpreting thestr- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullIllegalArgumentException- if offset or length are illegalNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Convenience method for callingparseBigInteger(char[], int, int).- Parameters:
str- the string to be parsed- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Convenience method for callingparseBigInteger(char[], int, int, int).- Parameters:
str- the string to be parsedradix- the radix to be used in interpreting thestr- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Parses aBigIntegerStringfrom achar-Array and converts it into aBigIntegervalue.See
JsonDoubleParserfor the syntax ofFloatingPointLiteral.- Parameters:
str- the string to be parsed, a byte array with characters in ISO-8859-1, ASCII or UTF-8 encodingoffset- The index of the first character to parselength- The number of characters to parse- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullIllegalArgumentException- if offset or length are illegalNumberFormatException- if the string can not be parsed successfully
-
parseBigInteger
Parses aBigIntegerStringfrom achar-Array and converts it into aBigIntegervalue.See
JsonDoubleParserfor the syntax ofFloatingPointLiteral.- Parameters:
str- the string to be parsed, a byte array with characters in ISO-8859-1, ASCII or UTF-8 encodingoffset- The index of the first character to parselength- The number of characters to parseradix- the radix to be used in interpreting thestr- Returns:
- the parsed value
- Throws:
NullPointerException- if the string is nullIllegalArgumentException- if offset or length are illegalNumberFormatException- if the string can not be parsed successfully
-