Quale tipo di dati Java sarebbe in grado di memorizzare un grande valore numerico, come 9999999999?Come memorizzare un numero intero (10 cifre) intero?
risposta
L'esempio concreto può essere memorizzato in long
(o java.lang.Long
se necessario).
Se in qualsiasi momento avete bisogno di numeri più grandi, si può provare java.math.BigInteger
(se intero), o java.math.BigDecimal
(se decimale)
È possibile memorizzare questo in un long
. A long
è possibile memorizzare un valore da -9223372036854775808
a 9223372036854775807
.
cletus: punto preso, modificato. –
Un primitivo lungo o il suo wrapper java.lang.Long può anche memorizzare dieci cifre.
+1 Un contenitore lungo può memorizzare 18-19 cifre con precisione assoluta. A meno che l'OP indichi che hanno bisogno di più di questo, una lunga è una scelta molto migliore di BigInteger. – cletus
è possibile utilizzare long o double.
Un doppio? Se l'esempio dell'OP di "9999999999" è indicativo, non è necessario introdurre imprecisioni in virgola mobile per un numero intero. –
yup bene la tua destra, ma gli stavo solo mostrando che possiamo usare anche queste cose. Dipende davvero dalle tue esigenze aziendali. – akellakarthik
In aggiunta a tutte le altre risposte, mi piacerebbe notare che se si desidera scrivere quel numero come letterale nel codice Java, è necessario aggiungere un L
o l
per dire al compilatore che si tratta di un long
costante:
long l1 = 9999999999; // this won't compile
long l2 = 9999999999L; // this will work
È possibile memorizzare creando un oggetto che detengono un numero valore stringa per memorizzare in una lista di array. per esempio: BigInt objt = new BigInt("999999999999999999999999999999999999999999999999999");
objt è stato creato dal costruttore della classe BigInt. All'interno della classe sembra.
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)); } }
}
Questo è completamente irrilevante. Non ha chiesto array o liste o numeri con 52 cifre decimali. Non viene nemmeno compilato. – EJP
Utilizzare il tipo di dati BigInt con le sue operazioni implicite. Il vantaggio è che non darà risposte in rappresentazioni esponenziali. Darà risultato pieno lunghezza
Ecco un esempio di addizione
BigInteger big1 = new BigInteger("1234567856656567242177779");
BigInteger big2 = new BigInteger("12345565678566567131275737372777569");
BigInteger bigSum = big1.add(big2);
System.out.println(bigSum);
Benvenuti in Stack Overflow. se hai trovato una stessa domanda ovunque, contrassegna quella domanda come duplicata invece di dare di nuovo la stessa soluzione. oppure puoi fornire un link della tua risposta pubblicato prima. – Shell
- 1. Get ultime tre cifre del numero intero
- 2. Come rappresentare un numero intero superiore a un numero intero
- 3. Come memorizzare un riferimento a un numero intero in C#?
- 4. Memorizzare un numero intero in un carattere * in C++
- 5. Dividere un numero intero nelle sue cifre separate
- 6. scala non prenderà un numero intero a 12 cifre
- 7. VB2010 Come capire se un numero è un intero intero
- 8. Arrotondare un numero intero al numero intero più vicino
- 9. Numero intero fuori intervallo
- 10. Numero intero Javascript
- 11. Numero intero lungo per stringa e viceversa, operazione con cifre
- 12. Converti Data corrente come numero intero
- 13. Numero intero esadecimale a due cifre in Java
- 14. Come si scorre tra le cifre di un intero?
- 15. Numero intero continuo eseguito
- 16. Come estrarre un numero intero da un NSDictionary e inserirlo in un numero intero?
- 17. Crea un numero intero Null
- 18. Come arrotondare un numero a un numero intero selezionato
- 19. Numero intero o numero decimale
- 20. Numero intero come tipo primitivo
- 21. Python SHA1 Numero intero
- 22. Numero intero che utilizza Linq
- 23. Formattazione di un numero intero come ottale
- 24. Come convertire un numero intero in serie
- 25. come ottenere un numero intero da JSON
- 26. Reading 3 byte come un numero intero
- 27. Come arrotondare un numero intero a centinaia?
- 28. bash - Come dichiarare un numero intero locale?
- 29. C++ numero intero funzione
- 30. Come determinare a livello intero numero intero/min in C?
Queste classi sono molto lenti, e dovrebbe essere usato solo se si ha realmente bisogno di un sacco di cifre. 10 cifre possono essere facilmente memorizzate in un "lungo". Tuttavia, se hai bisogno di 50 a 5000 cifre, queste due classi sono il modo migliore per farlo. – Karl
abbastanza corretto .. Ho pensato istintivamente che ha provato l'ovvio, e non ci è riuscito. Modificato la mia risposta in modo che sia corretta. – Bozho