I have a number of 20 digit, which datatype will support to store this number? I have tried long, double but I \'m getting out of range.
Number = 485656649684835144
BigInteger i = new BigInteger("48565664968483514466");
To convert your number in base 36:
BigInteger number = new BigInteger("48565664968483514466");
String numberInBase36 = number.toString(36);
System.out.println(numberInBase36);
BigInteger:
The BigInteger
class allocates as much memory as it needs to hold all the bits of data it is asked to hold and also provides operations analogues to all of Java's primitive integer operators and for all relevant methods from java.lang.Math.
Declare it as
BigInteger bi1 = new BigInteger("12345678900123");
when I'm trying to use new BigInteger(number), I'm getting literal of type int is out of range
The syntax you are looking for is
BigInteger n = new BigInteger("48565664968483514466");
with the numeric literal as a String
, since the primitive integer literals cannot hold a number this large.