¿Qué tipo de datos Java podría almacenar un gran valor numérico, como 9999999999?Cómo almacenar un número entero grande (10 dígitos)?
Respuesta
Su ejemplo concreto se puede almacenar en long
(o java.lang.Long
si es necesario).
Si en algún momento necesita números más grandes, puede intentar java.math.BigInteger
(si es entero), o java.math.BigDecimal
(si decimal)
Puede almacenar esto en un long
. Un long
puede almacenar un valor de -9223372036854775808
a 9223372036854775807
.
cletus: punto tomado, editado. –
Una primitiva de longitud o su contenedor java.lang.Long también puede almacenar diez dígitos.
+1 Un largo puede almacenar 18-19 dígitos con absoluta precisión. A menos que el OP indique que necesitan más que esto, una opción larga es mucho mejor que BigInteger. – cletus
puede usar largo o doble.
¿Un doble? Si el ejemplo de OP de '999999999' es indicativo, entonces no hay necesidad de introducir imprecisión de coma flotante para un número entero. –
yup ben su derecha, pero solo le estaba mostrando que podemos usar estas cosas también. Realmente depende de los requisitos de su negocio. – akellakarthik
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á anexar un L
o l
para decirle al compilador que es un long
constante:
long l1 = 9999999999; // this won't compile
long l2 = 9999999999L; // this will work
Se puede almacenar mediante la creación de un objeto que se mantenga un número valor de cadena para almacenar en una lista de arreglo. por ejemplo: BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");
objt ha sido 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)); } }
}
Esto es completamente irrelevante. Él no preguntó sobre matrices o listas o números con 52 dígitos decimales. Ni siquiera compila. – EJP
Utilice BigInt datatype con sus operaciones implícitas. El punto positivo es que no dará respuestas en representación exponencial. Dará resultado integral
Este es un ejemplo de adición
BigInteger big1 = new BigInteger("1234567856656567242177779");
BigInteger big2 = new BigInteger("12345565678566567131275737372777569");
BigInteger bigSum = big1.add(big2);
System.out.println(bigSum);
Bienvenido a Stack Overflow. si encontró alguna pregunta en cualquier lugar, marque esa pregunta como un duplicado en lugar de dar la misma solución nuevamente. o puede dar un enlace de su respuesta publicado anteriormente. – Shell
- 1. ¿Qué hacer cuando necesita almacenar un número (muy) grande?
- 2. Validación para un número de teléfono de 10 dígitos
- 3. Dividir un número entero en sus dígitos separados
- 4. ¿Cómo puedo explotar un número entero
- 5. ¿Cuál es el tipo de datos más grande para almacenar (e imprimir) un número entero?
- 6. Bitshifting para multiplicar un número entero por 10
- 7. ¿Cómo puedo contar los dígitos en un número entero sin un molde de cuerda?
- 8. scala no tomará un entero de 12 dígitos
- 9. Iteración a través de dígitos en número entero en C
- 10. Entero a dos dígitos hexadecimales en Java
- 11. ¿BIGINT (8) es el número entero más grande que mysql puede almacenar?
- 12. Generar número primo grande con los últimos dígitos especificados
- 13. SQL que obtiene los dos últimos dígitos del número entero
- 14. Regex de 8 a 10 dígitos
- 15. generar un número aleatorio con 7 dígitos
- 16. ¿Cómo formatear una cadena de 10 dígitos en un número de teléfono?
- 17. ¿Cómo ordenar los dígitos en un número?
- 18. ¿Cómo encuentro el siguiente múltiplo de 10 de cualquier número entero?
- 19. número entero en javascript?
- 20. convertir un número entero en una matriz
- 21. Fortran: el número entero más grande y el más pequeño
- 22. Formateo de un número entero en C++
- 23. "Número entero demasiado grande" mensaje de error para 600851475143
- 24. número entero no 'se reduce a un número entero'
- 25. Expresión regular para un número de 10 dígitos sin ningún carácter especial
- 26. Convertir la hora local (número de 10 dígitos) en un formato de fecha y hora legible
- 27. ¿Cómo detectar si un número dado es un número entero?
- 28. ¿Cómo puedo almacenar un número entero en un Buffer de nodejs?
- 29. Cómo almacenar un entero dirigido por ceros en Django
- 30. ¿Cómo generar un número aleatorio "grande" en Python?
Estas clases son muy lentos, y sólo debe ser utilizado si realmente necesita una gran cantidad de dígitos. 10 dígitos se pueden almacenar fácilmente en "largo". Sin embargo, si necesita de 50 a 5000 dígitos, estas dos clases son la mejor manera de hacerlo. – Karl
bastante correcto ... Instintivamente asumí que él había intentado lo obvio, y no tuvo éxito. Editó mi respuesta para que sea correcta. – Bozho