Java 用于存储20位数字的数据类型

Java 用于存储20位数字的数据类型,java,math,numbers,type-conversion,base36,Java,Math,Numbers,Type Conversion,Base36,我有一个20位数的数字,哪个数据类型支持存储这个数字?我试了很长时间,但我已经超出了射程 编号=485664968483514466 然后我必须将这个数字转换为Base36来生成条形码 BigInteger: biginger类根据需要分配足够的内存来保存要求它保存的所有数据位,并且还为所有Java的基本整数运算符以及Java.lang.Math中的所有相关方法提供操作模拟。 宣布为 BigInteger bi1 = new BigInteger("12345678900123"); 当我

我有一个20位数的数字,哪个数据类型支持存储这个数字?我试了很长时间,但我已经超出了射程

编号=485664968483514466

然后我必须将这个数字转换为Base36来生成条形码

BigInteger:
biginger
类根据需要分配足够的内存来保存要求它保存的所有数据位,并且还为所有Java的基本整数运算符以及
Java.lang.Math中的所有相关方法提供操作模拟。

宣布为

BigInteger bi1 =  new BigInteger("12345678900123");
当我尝试使用新的BigInteger(number)时,我发现int类型的文本超出了范围

您要查找的语法是

BigInteger n = new BigInteger("48565664968483514466");

将数值文字作为
字符串
,因为基本整数文字不能容纳这么大的数字。

要转换以36为基数的数字:

BigInteger number = new BigInteger("48565664968483514466");
String numberInBase36 = number.toString(36);
System.out.println(numberInBase36);

BigInteger-当我尝试使用新的BigInteger(数字)时,我得到int类型的文本超出范围。您是否对数字进行任何数字操作?BigInteger I=新的BigInteger(“485664968483514466”)@brso05-我需要将此数字转换为BASE36以生成条形码。
BigInteger number = new BigInteger("48565664968483514466");
String numberInBase36 = number.toString(36);
System.out.println(numberInBase36);