java - usar - ¿Cómo almacenar un entero grande(10 dígitos)?
tipos de datos en java (8)
Además de todas las otras respuestas, me gustaría señalar que si desea escribir ese número como un literal en su código Java, deberá adjuntar una L
o l
para decirle al compilador que es una constante long
:
long l1 = 9999999999; // this won''t compile
long l2 = 9999999999L; // this will work
¿Qué tipo de datos Java podría almacenar un gran valor numérico, como 9999999999?
Puede almacenar creando un objeto que contenga un número de valor de cadena para almacenar en una lista de matriz. por ejemplo: BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");
objt es creado por el constructor de la clase BigInt. Dentro de la clase parece.
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)); } }
}
Puedes guardar esto en long
. Un long
puede almacenar un valor desde -9223372036854775808
hasta 9223372036854775807
.
Se puede usar largo o doble.
Una clase envoltura java.lang.Long puede almacenar 10 dígitos fácilmente.
Long phoneNumber = 1234567890;
Puede almacenar más que eso también.
Documentación:
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;
}
Esto significa que puede almacenar valores del rango de 9,223,372,036,854,775,807 a -9,223,372,036,854,775,808 .
Una primitiva larga o su envoltura java.lang.Long también puede almacenar diez dígitos.
Utilice el tipo de datos BigInt con sus operaciones implícitas. El punto positivo de esto es que no dará respuestas en representación exponencial. Dará resultado de longitud completa.
Aquí hay un ejemplo de adición.
BigInteger big1 = new BigInteger("1234567856656567242177779");
BigInteger big2 = new BigInteger("12345565678566567131275737372777569");
BigInteger bigSum = big1.add(big2);
System.out.println(bigSum );
Su ejemplo concreto podría almacenarse en long
(o java.lang.Long
si es necesario).
Si en algún momento necesita números más grandes, puede probar java.math.BigInteger
(si es entero) o java.math.BigDecimal
(si es decimal)