Ho bisogno di lavorare con numeri grandi (qualcosa nel range 1E100 - 1E200). Tuttavia, la classe BigInteger
, che sembra essere adatta in generale, non riconosce le stringhe in formato scientifico durante l'inizializzazione, così come non supporta la conversione in una stringa nel formato.Inizializzazione con stringa in formato scientifico in Java BigInteger?
BigDecimal d = new BigDecimal("1E10"); //works
BigInteger i1 = new BigInteger("10000000000"); //works
BigInteger i2 = new BigInteger("1E10"); //throws NumberFormatException
System.out.println(d.toEngineeringString()); //works
System.out.println(i1.toEngineeringString()); //method is undefined
C'è un modo per aggirare? Non riesco a immaginare che tale classe sia stata progettata con l'assunto che gli utenti debbano digitare centinaia di zeri in input.