Methoden Decimalformat variabel einstellen

noo.bee

Mitglied
hallo

ich habe
Java:
DecimalFormat df = new DecimalFormat( ",##0.00");
, um ein standardformat zu gewährleisten. jedoch kann es passieren, dass bei manchen berechnungen z.b. 0,0000032 rauskommt.

kann man DecimalFormat so "einstellen", dass immer nur 2 kommastellen angezeigt werden wie oben, es sei denn es werden mehr benötigt ?
 
Die Methode setMaximumFractionDigits(int) ist für das setzen der maximalen Stellen HINTER dem Komma zuständig, währenddessen setMaximumIntegerDigits(int) für die maximalen Stellen VOR dem Komma zuständig ist.

Dasselbe gibt's auch "rückwarts":

Die Methode setMinimumFractionDigits(int) ist für die minimalen Nachkommastellen verantwortlich und die Methode setMinimumIntegerDigits(int) ist für die minimalen Vorkommastellen verantwortlich.
 

noo.bee

Mitglied
mhh, funktioniert zwar, aber löst mein prob nicht.

ich habe als ergebnis die zahlen:
0.277778 ...........sollte so aussehen 0.27
0.621373 ...........sollte so aussehen 0.62
0.000839208 ......sollte so aussehen 0.0008
0.00000000092 ...sollte so aussehen 0.0000000009
0.0539957 .........sollte so aussehen 0.05

also wenn 2 nachkommastellen reichen, wie im fall 1, fall 2 und fall 4 dann sollen auch nur 2 nachkommastellen gezeigt werden. in fall 3 und fall 4 reichen 2 NKS eben nicht.


achso, so sieht mein code aus
Java:
NumberFormat form = NumberFormat.getInstance();
form.setMaximumFractionDigits(10);
form.setMinimumFractionDigits(2);

form.format(summe1 * 0.277778) // summ1 ist in meinem fall jetzt einfach mal "1"
 

VfL_Freak

Top Contributor
Moin,

mhh, funktioniert zwar, aber löst mein prob nicht.
ich habe als ergebnis die zahlen:
0.277778 ...........sollte so aussehen 0.27
0.621373 ...........sollte so aussehen 0.62
0.000839208 ......sollte so aussehen 0.0008
0.00000000092 ...sollte so aussehen 0.0000000009
0.0539957 .........sollte so aussehen 0.05

also wenn 2 nachkommastellen reichen, wie im fall 1, fall 2 und fall 4 dann sollen auch nur 2 nachkommastellen gezeigt werden. in fall 3 und fall 4 reichen 2 NKS eben nicht.

hmm, verstehe jetzt nicht wirklich, was Du willst ???:L
Also sollen es doch nicht nur zwei NK-Stellen sein ???:L

Wie willst Du denn in Deinem Programm unterscheiden, das die 2 NKs in Fall 3 und 4 nicht reichen, in den anderen Fällen aber schon ???:L :eek:

Gruß
Klaus
 
Bitte beschreibe dein Problem genauer, da du es umständlich und, zumindest für mich, unverstänlich erklärt hast.
Zudem funktionieren die Methoden ja anscheinend...

Edit: Ich glaube, dass du einfach die Methoden falsch herum benutzt hast.
 

truesoul

Top Contributor
Hallo.

Dann erstelle dir doch eine Methode, die dir den passenden "Format" erzeugt?

@NintendoLink07

Java:
A : 0.000027578 sollte dann so aussehen: 0.000027
B : 0.00312 sollte dann so aussehen: 0.0031
Die (A)578 und (B)2 sollen abgeschnitten werden.
 
Zuletzt bearbeitet:

noo.bee

Mitglied
mhh, vllt hab ich es nicht ordentlich erklärt:

es sollen immer max 2 NK angezeigt werden. ABER bei dem ergebnis 0.0000123 reichen 2 NK nicht, da dann nur 0.00 da stehen würde. in dem fall sollte die zahl als 0.00001 dargestellt werden (also ausnahmsweise mehr NK).
weiß nicht, warum das nicht verstanden wird ;)


0.000839208 ......sollte so aussehen 0.0008
0.00000000092 ...sollte so aussehen 0.0000000009
weil hier mit 2 NK ja nur 0.00 und 0.00 stehen würde, machen hier 2 NK keinen sinn. sondern eben soviel, bis man nen ergebnis hat, was nicht 0.00 ist
 

VfL_Freak

Top Contributor
Moin,

es sollen immer max 2 NK angezeigt werden. ABER bei dem ergebnis 0.0000123 reichen 2 NK nicht, da dann nur 0.00 da stehen würde. in dem fall sollte die zahl als 0.00001 dargestellt werden (also ausnahmsweise mehr NK).
weiß nicht, warum das nicht verstanden wird ;)

weil hier mit 2 NK ja nur 0.00 und 0.00 stehen würde, machen hier 2 NK keinen sinn. sondern eben soviel, bis man nen ergebnis hat, was nicht 0.00 ist
Deswegen geht es ja auch so ohne weiteres nicht, in dem Du GENERELL auf 2 NKs beschränkt !!

Hast Du denn diesen Beitrag gelesen ?
Hallo.
Dann erstelle dir doch eine Methode, die dir den passenden "Format" erzeugt?
@NintendoLink07
Java:
A : 0.000027578 sollte dann so aussehen: 0.000027
B : 0.00312 sollte dann so aussehen: 0.0031
Die (A)578 und (B)2 sollen abgeschnitten werden

Du wirst Dir das schon selbst basteln müssen, dass je nach Größe des Wertes die Anzahl der NKs eingestellt wird ....

Gruß
Klaus

Gruß
Klaus
 

Evil-Devil

Top Contributor
Ist zwar unsauber, aber das einfachste das mir einfällt.

Pack die Zahl in einen String. Ermittel die Menge an Nullen nach dem Komma und zähle 2 hinzu. Dann weißt du wie viele Stellen nach dem Komma du anzeigen musst.

Natürlich musst du deinen Formatierungsstring dann dynamisch erzeugen oder hast eine Liste aller Möglichkeiten vorliegen...
 

noo.bee

Mitglied
ja, sowas schwebte mir am anfang schon vor :( aber ich hab gehofft, dass es ne fertige methode o.ä. gibt...

naja wenigstens hats jetzt der großteil verstanden :D :D

Deswegen geht es ja auch so ohne weiteres nicht, in dem Du GENERELL auf 2 NKs beschränkt !!
ich will das aber ;) 2 NKS reichen in der regel ja überall aus... ausser eben bei 0.0000035 :(
 

VfL_Freak

Top Contributor

noo.bee

Mitglied
ja, werd wohl
Java:
setMinimumFractionDigits(int)
irgendwie nutzen... oder ich lass als eingabe nur
Java:
int
zu. neee, scherzchen. also ich bastel mal ;(
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
J java.text.DecimalFormat Java Basics - Anfänger-Themen 5
P DecimalFormat Java Basics - Anfänger-Themen 5
A DecimalFormat und wissenschatliche (Potenz-)Schreibweise Java Basics - Anfänger-Themen 6
V Tausender Trennzeichen DecimalFormat & NumberFormat Java Basics - Anfänger-Themen 8
H DecimalFormat mit BigDecimal? Java Basics - Anfänger-Themen 6
L DecimalFormat InputStringException Java Basics - Anfänger-Themen 5
H DecimalFormat Java Basics - Anfänger-Themen 6
C DecimalFormat-Patern funktioniert ab 11 Stellen nicht mehr Java Basics - Anfänger-Themen 3
D Datentypen Double 2 stellen hinter dem Komma ausgeben OHNE decimalformat Java Basics - Anfänger-Themen 2
L DecimalFormat - wo ansetzen? Java Basics - Anfänger-Themen 4
S DecimalFormat deutsche Trennzeichen. Java Basics - Anfänger-Themen 4
R Decimalformat mit Aufzählung von 1 bis 100 Java Basics - Anfänger-Themen 2
I kleines problemchen bei DecimalFormat Java Basics - Anfänger-Themen 6
G Problem mit DecimalFormat Java Basics - Anfänger-Themen 3
D komme heute mit dem DecimalFormat nicht klar... Java Basics - Anfänger-Themen 2
J String Formatieren DecimalFormat oder wie? Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
B Variablen Int Variabel in JTextField ändern Java Basics - Anfänger-Themen 2
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
S Objekt-Attribute "variabel" gestalten Java Basics - Anfänger-Themen 10
C Methoden Methode Variabel aufrufen Java Basics - Anfänger-Themen 2
O array mit Methode variabel befüllen Java Basics - Anfänger-Themen 5
Tacofan Variabel in einer anderen Methode Java Basics - Anfänger-Themen 2
S Binärer Suchbaum - Size als Variabel in innerer Klasse speichern Java Basics - Anfänger-Themen 2
M Name der Komponete/Variabel/Methode Java Basics - Anfänger-Themen 5
M Enum-Variabel-Abfrage funktioniert nicht? Java Basics - Anfänger-Themen 2
S Suche richtigen Typ für Variabel mit den Werten (neu, gebraucht, beschädigt) Java Basics - Anfänger-Themen 7
V kann ich eine TextProperty an eine booloan variabel binden ? Java Basics - Anfänger-Themen 2
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
M Konstruktor Problem - Variabel Erhöhen Java Basics - Anfänger-Themen 5
G Array nimmt Variabel nicht an Java Basics - Anfänger-Themen 14
K variabel.equal("text") verneinen Java Basics - Anfänger-Themen 2
V GridLayout - Spaltenbreite variabel ? Java Basics - Anfänger-Themen 5
M Objektnamen Variabel vergeben Java Basics - Anfänger-Themen 7
T Auf Variabel in einer anderen Methode zugreifen Java Basics - Anfänger-Themen 4
T File Variabel Java Basics - Anfänger-Themen 8
G Was zum Teufel ist denn so ein Ausdruck"variabel : vari Java Basics - Anfänger-Themen 8
A Variabel int a; int b; ? Java Basics - Anfänger-Themen 8
B Casting variabel gestalten. Java Basics - Anfänger-Themen 9
T Variabel großes String-Array in ein String speichern Java Basics - Anfänger-Themen 3
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
nbergmann Umgebungsvariablen einstellen unter Windows 7 klappt nicht Java Basics - Anfänger-Themen 2
C Zufallszahl + Werte bereich einstellen Java Basics - Anfänger-Themen 2
ZH1896ZH JDK installieren JRE 1.8.0_221 als Standard einstellen Java Basics - Anfänger-Themen 5
A Frage zur Aufgabe Uhrzeit einstellen mit Objekten Java Basics - Anfänger-Themen 18
N Innerhalb des Programmes RAM einstellen Java Basics - Anfänger-Themen 2
C Wert rechtsbündig einstellen? Java Basics - Anfänger-Themen 3
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
G GridBagLayout einstellen Java Basics - Anfänger-Themen 5
A xdoclet einstellen? Java Basics - Anfänger-Themen 2
D Mit Java plattformunabhängig die Systemzeit einstellen Java Basics - Anfänger-Themen 8
S Dicke bei Graphics Ovject einstellen Java Basics - Anfänger-Themen 2
B Path Umgebungsvariable einstellen? Java Basics - Anfänger-Themen 5
B JTable - Einstellen der Größe bzw. der Länge Java Basics - Anfänger-Themen 1
E Heap Size einstellen Java Basics - Anfänger-Themen 7
B 15 Minutentakt bei einem JSpinner einstellen? Java Basics - Anfänger-Themen 6
C Button in GridBagLayout einstellen Java Basics - Anfänger-Themen 4
S Buttongröße einstellen Java Basics - Anfänger-Themen 5
D JDK richtig einstellen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben