Exponentialschreibweise entfernen

Hi Leute,

Ich bin gerade dabei ein Programm für die Verwaltung meiner Mathehausaufgaben zu schreiben ... Da soll alles reinkommen ... von Umrechner bis hinzu Funktionplotter ... und es soll die Rechenwege bzw. Lösungen in einem Log speichern...

Allerdings nervt mich diese exponentielle schreibweise an meinem Umrechner-Tool...

Hat jemand ne Ahnung wie ich diese in normale Zahlen konvertieren kann?
Gibt es dafür eine Klasse?
 
Zuletzt bearbeitet:
Ich versteh net ganz was du meinst mit
"Allerdings nervt mir diese exponentielle schreibweise an meinem Umrechner-Tool..."
 
Moin,

da meine Glaskugel gerade zur Reparatur ist ;-],
würde ich vorschlagen, dass Du mal den relevanten Codeteil, bei dem Du diese Ergebnisse ausgibst, hier postet ! !

Sonst wird es nur lustiges Rätselraten ..... :p

Gruß
Klaus
 
eigentlich ist das völlig irrelevant ... weil ich hab eigentlich nach einer klasse gefragt die sowas formatiert...
aber naja ...
...
else if (m_String_FromToKonv2.equals("Fahrenheit")) {
m_konv = Double.parseDouble(getZiffer);
// Nutze Formel 9/5 ° C + 32,0
m_Ergebnis = (9.0 / 5.0 * m_konv) + 32.0;

m_String_Ergebnis = Double.toString(m_Ergebnis);
if(m_Ergebnis < -459.67){
tf2.setText("Wert unter dem Nullpunt");
}
else{
tf2.setText(m_String_Ergebnis);
}

}
...

wenn ihr den ganzen code haben wollt könnt ihr euch freuen...
 
Ein Blick in die API bringt sowas wie die Klasse DecimalFormat zu tage. Schau dir die mal an. Da kannst du alles einstellen was du so brauchst.

Noch ein Hinweis: Vermeide möglichst Unterstriche in Variablennamen. Und ein m_ ist auch eine komische Angewohnheit. Ein this. tut es auch.

Zum umrechnen von Einheiten gibt es ansonsten auch schon fertige Libraries die du benutzen kannst.
 
@vfl freak

warum sollte ich das tun ...
ich will doch schließlich den text aus dem textfeld zu einer zahl konvertieren ... und nicht umgekehrt ...

nächstes mal besser gucken^^

also ich habs jetzt mal so gelöst^^

public void UseDecimalFormats(){
f = (DecimalFormat)DecimalFormat.getInstance(Locale.GERMAN);
fs = f.getDecimalFormatSymbols();
fs.setDecimalSeparator(',');
fs.setGroupingSeparator(' ');
f.setMinimumFractionDigits(1);
f.setMaximumFractionDigits(5);
f.setDecimalFormatSymbols(fs);
}

und dann einfach

f.format(String s);

und die Tausenderstellen werden durch Leerzeichen gekennzeichnet, ein Komma als Dezimalseperator und reele Zahlen^^ ... oder so ... xD

Am besten leg ich mir noch ne Klasse dafür an, damit ich immer wieder daruaf Zugreifen kann^^

also meine klasse sieht jetzt so aus


Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package xplusy;

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;

/**
 *
 * @author Administrator
 */
class UseDecimalFormats extends DecimalFormat{

    public DecimalFormatSymbols fs;
    
    @SuppressWarnings("static-access")
        public void UseDecimalFormats(){
            this.getInstance(Locale.GERMAN);
            fs = this.getDecimalFormatSymbols();
            fs.setDecimalSeparator(',');
            fs.setGroupingSeparator(' ');
            this.setMinimumFractionDigits(1);
            this.setMaximumFractionDigits(5);
            this.setDecimalFormatSymbols(fs);
    }

}
 
warum sollte ich das tun ...
ich will doch schließlich den text aus dem textfeld zu einer zahl konvertieren ... und nicht umgekehrt ...

aha, und warum gibst Du dann (lt. Deinem zuerst geposteten Codeschnipsel das Ergebnis als String aus?
m_String_Ergebnis = Double.toString(m_Ergebnis);
Ich hatte vermutet, dass hier eventuell der Hase im Pfeffer liegen könnte ... aber egal, Hauptsache Du hast jetzt eine Lösung fürs Problem gefunden ;)

Gruß
Klaus
 

Neue Beiträge

Zurück