Какой тип данных Java сможет хранить большое числовое значение, например 9999999999?
Как хранить большое (10 цифр) целое число?
Ответ 1
Ваш конкретный пример может быть сохранен в long
(или java.lang.Long
, если это необходимо).
Если в любой момент вам нужны большие числа, вы можете попробовать
java.math.BigInteger
(если целое число) или java.math.BigDecimal
(если десятичная)
Ответ 2
Вы можете сохранить это в long
. A long
может хранить значение от -9223372036854775808
до 9223372036854775807
.
Ответ 3
В дополнение ко всем другим ответам я хотел бы отметить, что если вы хотите записать этот номер как литерал в вашем Java-коде, вам нужно добавить L
или L
, чтобы сообщить компилятору что он a long
constant:
long l1 = 9999999999; // this won't compile
long l2 = 9999999999L; // this will work
Ответ 4
Простейший длинный или его java.lang.Long обертка также может хранить десять цифр.
Ответ 5
Использовать тип данных BigInt с его неявными операциями. Плюс к этому - это не даст ответов в экспоненциальном представлении. Он даст полный результат
Вот пример добавления
BigInteger big1 = new BigInteger("1234567856656567242177779");
BigInteger big2 = new BigInteger("12345565678566567131275737372777569");
BigInteger bigSum = big1.add(big2);
System.out.println(bigSum );
Ответ 6
вы можете использовать long или double.
Ответ 7
Вы можете сохранить, создав объект, который хранит номер строкового значения для хранения в списке массивов.
на пример: BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");
objt создается конструктором класса BigInt. Внутри класса выглядят.
BigInt{
ArrayList<Integer> myNumber = new ArrayList <Integer>();
public BigInt(){}
public BigInt(String number){ for(int i; i<number.length; i++){ myNumber.add(number.indexOf(i)); } }
}
Ответ 8
Класс-обертка java.lang.Long может легко хранить 10 цифр.
Long phoneNumber = 1234567890;
Он также может хранить больше, чем это.
Документация:
public final class Long extends Number implements Comparable<Long> {
/**
* A constant holding the minimum value a {@code long} can
* have, -2<sup>63</sup>.
*/
@Native public static final long MIN_VALUE = 0x8000000000000000L;
/**
* A constant holding the maximum value a {@code long} can
* have, 2<sup>63</sup>-1.
*/
@Native public static final long MAX_VALUE = 0x7fffffffffffffffL;
}
Это означает, что он может хранить значения в диапазоне от 9 223 372 036 854 775 807 до -9, 223 372 036 854 775 808.