Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Gibt es eine Möglichkeit eine Float-Zahl auf z.B. 8 Stellen zu beschränken? Hinterrund ist die Aufgabe einen Taschenrechner zu programmieren. Ich möchte, dass die Anzahl der auf dem Display angezeigten Ziffern max. 8 ist (Ein Komma zusätzlich soll erlaubt sein!). Also z.B.: 12345678 oder 1,2345678 oder 1234,5678. Ich habe gelesen das es für Floats zwei verschiedene Notationen gibt, wisenschaftlich und standard; Leider nirgends wie man das beeinflussen kann. Momentan werden "große" Zahlen mit wissenschaftlich angezeigt (z.B. 6.0493825E15).
Die Ergebnisse der Rechnungen, werden anderen Klasse ausgeführt. z.B. :
Code:
public float add(){
return a+b;
}
Ich habe mir nun gedacht, das es am besten wäre die Beschneidung schon dort vorzunehmen. Wenn also 2 Zahlen an diese Methode übergeben werden und das Ergebnis mehr als 8 Stellen hat, es kurzerhand zusammengekürzt wird. Das Ergebnis wird anschließend in einen String gewandelt und in ein Display geschrieben.
Wäre:
1. das Vorgehen "klug"
2. das ein möglicher Weg (und wenn ja, wie?)
in das Display geschrieben. Das Display ist in diesem Fall ein JLabel, kein JTextField. Ich werde mir deinen Code mal anschen, villeicht ist ja der nötige Hint dabei.
Ist es sonst aber nicht möglich einen Float zu "begrenzen". Das wäre zumindest aus meiner Sicht das einfachste. Also nur Zahlen weiterreichen die bis zu 8 Stellen haben.
Die Aufgabe besagt, das der Rechner so funktionieren soll wie das Original. Addiere ich z.B. 2 Zahlen mit jeweils 8 Stellen, gibt der Rechner (der Echte/Hardware) zwar die ersten 8 Stellen des Ergebnisses aus, aber auch einen Error. ???:L
So ungefähr,.. Dabei ist ausgabe auch ein String. In der Klasse wo die einzelnen Methoden für die Rechnungen statfinden wird dann mit den einzelnen zahlencaches gerechnet. Hoffe das war einigermaßen verständlich... :roll:
Werde mir mal numberformat angucken... wie gesagt, bin für jeden tipp dankbar! Marco
Hi! Genau das habe ich heute morgen probiert. Funktioniert soweit gut. Allerdings ist jetzt noch das Problem über das Zahlen mit 8 oder mehr Stellen vor dem Komma in wissenschaftlicher Notation ausgegeben werden (z.B. 1.2345678E7). Wenn ich also von der Zahl die zurückgereicht wird die ersten 8 Stellen mit dem substring() abschneide, verfälsche ich ja das Ergebnis.
Ich habe deswegen gerade einen neuen Thread eröffnet, in dem ich genau diese Frage zu der Notation stelle; Ob man sie ändern/umgehen kann.