在对一些大数字进行运算时,如果需要储存的数据超出了基本数据类型可以保存的范围,我们就可能需要用到BigInteger。BigInteger 支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数值

BigInteger类提供了多个构造器可用于初始化,其中用法比较直接的就是BigInteger(String val)构造器。BigInteger(String val)可以将十进制表示形式字符串转换为BigInteger类型,在赋值时需要注意字符串必须为整数,示例如下

java中string转byte java string转biginteger_数组


除此之外BigInteger类中还有一些其他不同功能的构造器可供需要时使用,示例如下

java中string转byte java string转biginteger_字符串_02


BigInteger类中还声明了一些静态常量,类型为BigInteger。在运算时可拿来使用,示例如下

java中string转byte java string转biginteger_java中string转byte_03


BigInteger类常用方法如下:1、 abs(),返回类型为BigInteger的参数的绝对值

java中string转byte java string转biginteger_字符串_04


2、add(BigInteger val),返回类型为BigInteger的加法运算结果,参数类型为BigInteger

java中string转byte java string转biginteger_java中string转byte_05


3、subtract(BigInteger val),返回类型为BigInteger的减法运算结果,参数类型为BigInteger

java中string转byte java string转biginteger_字符串_06


4、multiply(BigInteger val),返回类型为BigInteger的乘法运算结果,参数类型为BigInteger

java中string转byte java string转biginteger_字符串_07


5、divide(BigInteger val),返回类型为BigInteger的除法运算结果,参数类型为BigInteger,小数位进行截断

java中string转byte java string转biginteger_数组_08


6、divideAndRemainder(BigInteger val),返回类型为BigInteger[]的除法运算结果数组,数组第一个元素为商,第二个元素为余数

java中string转byte java string转biginteger_字符串_09


7、pow(int exponent),返回类型为BigInteger的参数的exponent 次方运算结果

java中string转byte java string转biginteger_数组_10


8、negate(),返回类型为BigInteger的参数的相反数

java中string转byte java string转biginteger_字符串_11


9、compareTo(BigInteger val),将此 BigInteger 与指定的 BigInteger 进行比较。小于指定的 BigInteger返回-1,等于指定的 BigInteger返回0,大于指定的BigInteger返回1

java中string转byte java string转biginteger_参数类型_12


10、min(BigInteger val),返回此 BigInteger 和 val 的最小值

java中string转byte java string转biginteger_字符串_13


11、max(BigInteger val),返回此 BigInteger 和 val 的最大值

java中string转byte java string转biginteger_数组_14


12、signum(),返回此BigInteger 的正负号函数,返回-1为负数,1为正数,0为零

java中string转byte java string转biginteger_数组_15


13、intValue(),将此BigInteger 转换为int类型,如果此BigInteger超出int类型范围则以int类型最大或最小值表示

java中string转byte java string转biginteger_参数类型_16


14、longValue(),将此BigInteger 转换为long类型,如果此BigInteger超出long类型范围则以long类型最大或最小值表示

java中string转byte java string转biginteger_数组_17


15、floatValue(),将此BigInteger 转换为float类型,如果此BigInteger 超出float类型范围,则将视符号转换为Float类的常量NEGATIVE_INFINITY 或 POSITIVE_INFINITY,可能会造成精度丢失

java中string转byte java string转biginteger_字符串_18


16、doubleValue(),将此 BigInteger 转换为double类型,如果此 BigInteger 超出double类型范围,则将视符号转换为Double类的常量NEGATIVE_INFINITY 或 POSITIVE_INFINITY,可能会造成精度丢失

java中string转byte java string转biginteger_字符串_19


17、toByteArray(),返回一个 byte 数组,该数组包含此 BigInteger 的二进制补码表示形式

java中string转byte java string转biginteger_参数类型_20


18、toString(),返回此BigInteger 的十进制字符串表示形式

java中string转byte java string转biginteger_参数类型_21


19、toString(int radix),返回此 BigInteger 的给定基数的字符串表示形式

java中string转byte java string转biginteger_参数类型_22


20、valueOf(long val),返回其值等于指定 long 的值的 BigInteger

java中string转byte java string转biginteger_数组_23