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