Ich muss mit großen Zahlen arbeiten (etwas in Reichweite 1E100 - 1E200). Die Klasse BigInteger
, die im Allgemeinen geeignet zu sein scheint, erkennt jedoch keine Strings im wissenschaftlichen Format während der Initialisierung und unterstützt auch nicht die Umwandlung in eine Zeichenfolge im Format.Initialisierung mit String im wissenschaftlichen Format 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
Gibt es einen Weg herum? Ich kann mir nicht vorstellen, dass eine solche Klasse mit der Annahme entworfen wurde, dass Benutzer Hunderte von Nullen eingeben müssen.