我有20位数字,哪种数据类型支持存储这个数字?我已经尝试了很长时间,但我已经超出了范围。
编号= 48565664968483514466
然后我必须将此号码转换为Base36以生成条形码。
答案 0 :(得分:13)
BigInteger:
BigInteger
类分配所需的内存,以保存要求保存的所有数据位,并为所有Java的原始整数运算符和{{1的所有相关方法提供操作类似物}}
将其声明为
java.lang.Math.
答案 1 :(得分:2)
要转换基数为36的数字:
BigInteger number = new BigInteger("48565664968483514466");
String numberInBase36 = number.toString(36);
System.out.println(numberInBase36);
答案 2 :(得分:1)
当我尝试使用新的BigInteger(数字)时,我得到int类型的字面值超出范围
您正在寻找的语法是
BigInteger n = new BigInteger("48565664968483514466");
将数字文字作为String
,因为原始整数文字不能容纳这么大的数字。
答案 3 :(得分:0)
BigInteger i = new BigInteger("48565664968483514466");