我有一个 20 位数字,哪种数据类型支持存储这个数字?我已经尝试了很长时间,但我已经超出了范围。
号码 = 48565664968483514466
然后我必须将此数字转换为 Base36 以生成条形码。
我有一个 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);
当我尝试使用 new BigInteger(number) 时,我得到 int 类型的文字超出范围
您正在寻找的语法是
BigInteger n = new BigInteger("48565664968483514466");
将数字文字作为 a String
,因为原始整数文字不能容纳这么大的数字。
BigInteger i = new BigInteger("48565664968483514466");