Hallo,
ich würde gerne wissen, wie ich in Java BigIntegers in Exponentialschreibweise (also z.b. 5.043E+7) darstellen kann.
Nach ein wenig googeln habe ich entdeckt, dass es dafür scheinbar keinen konkreten Befehl gibt, also habe ich mir selbst ein bisschen was ausgedacht:
(a ist die zahl, die ausgegeben wird)
das Programm macht im Grunde auch das, was es soll, nur sieht das programmierte total hässlich aus, und ziemlich "zurechtgestückelt" aus.
zum beispiel wird die do-schleife einmal zuoftausgeführt, wesshalb ich später nochmal exponent-1 und zaehler:10 rechnen muss.
Außerdem wüsste ich gerne, ob ich das auch irgendwie mit kommazahlen darstellen kann, da afaik für
"zahl" eine BigInteger-variable -also keine Kommazahl-sein muss.
ich würde gerne wissen, wie ich in Java BigIntegers in Exponentialschreibweise (also z.b. 5.043E+7) darstellen kann.
Nach ein wenig googeln habe ich entdeckt, dass es dafür scheinbar keinen konkreten Befehl gibt, also habe ich mir selbst ein bisschen was ausgedacht:
Java:
BigInteger zaehler=new BigInteger("1");
BigInteger zehn=new BigInteger("10");
int exponent=0;
do {exponent++;
zaehler=zehn.pow(exponent);
} while (zaehler.compareTo(a)<0);
BigInteger zahl= new BigInteger("0");
zaehler=zaehler.divide(zehn);
zahl=a.divide(zahlz);
exponent--;
jTextArea1.setText(String.valueOf(a));
jTextArea1.append("\n"+zahl+"E+"+exponent);
das Programm macht im Grunde auch das, was es soll, nur sieht das programmierte total hässlich aus, und ziemlich "zurechtgestückelt" aus.
zum beispiel wird die do-schleife einmal zuoftausgeführt, wesshalb ich später nochmal exponent-1 und zaehler:10 rechnen muss.
Außerdem wüsste ich gerne, ob ich das auch irgendwie mit kommazahlen darstellen kann, da afaik für
Java:
zahl=a.divide(zaehler);