Stellenanzahl in Ausgabe in "Eingabefeld" (Runden hilft mir wohl nicht)
-
hi,
ich möchte, dass in einem Eingabefeld (spielt wohl keine Rolle wo!=) z.B. max 4 Nachkommastellen angegeben werden. Dabei stört es mich nicht, wenn weniger angegeben werden, sofern zB 2 ausreichen, weil darauf lange nur oder ausschließlich Nullen folgen.
So weit so gut: könnte ich mir ja eine der zahlreichen Rundungsfunktionen auswählen, und einfach dafür sorgen, dass die Zahl eben nicht mehr Nachkommastellen ungleich Null besitzt als von mir gewünscht. Dies wäre auch insofern kein Problem, weil ich mit der Zahl nicht weiter rechnem möchte.
Warum kann ich das trotzdem nicht benutzen?
Es wird mir dann ja immer Null als Ergebnis angezeigt, wenn die Zahl mit "zu vielen" Nachkommanullen beginnt (bei 0.0... Zahlen natürlich nur, steht keine Null vorm Komma, kein Problem). In diesem Fall würde ich ich Ausgabe à la 7.4e^-12
begrüßen! Oder wenigstens sollte erzwungen werden, dass immer eine bestimmte Nachkommastellen angezeigt werden (was wie oben erwähnt, nihct unbedingt sein muss), dann sieht der Benutzer wenigstens, dass die Zahl sehr klein ist, und kommt nicht auf die Idee, dass garnicht gerechnet wurde.An der Konsole ist das doch so einfach, da muss es doch auch irgendwie hier gehen...
-
Mit was für einer Funktion bereitest du denn deine Ausgabe vor? Ich tippe mal auf CString::Format() - Dort kannst du auch die Spezifikatoren %e (wissenschaftliche Darstellung) oder %g (je nach Größe wissenschaftlich oder "normal") verwenden.
-
CStoll schrieb:
Mit was für einer Funktion bereitest du denn deine Ausgabe vor? Ich tippe mal auf CString::Format()
Ach du ka...Also bisher war mir garnicht klar dass ich die Ausgabe überhaupt vorbereite. Im Prinzip mache ich alles was die Optik angeht über Assistenten, schreibe dann halt meine "Berechnungen" und sage noch, welche Variablen benutzt und welche verändert/berechnet werden sollen, wenn der Benutzer auf einem Button drückt.
Ich habe, beim ersten überfliegen "CString..." leider in keiner Datei gefunden. Oder müssen dafür etwa die Variablen alle CString's sein? Habe da einfach immer int/double ausgewählt, einfach so wie ichs gemacht habe, als ich die Berechnungsfunktionen an der Konsole getestet habe.
Mit was für Funktionen kann ich denn meine Ausgabe vorbereiten, und WO?
Vielleicht habe ich es einfach nur nicht gesehen.
Zur Info: Habe ein SDI Programm und es werden dann übers Menü verschiedene Dialogfelder aufgerufen wo alles stattfindet.
In den "...Dialog.cpp" Dateien kann ich ja den Variablen in den Eingabefeldern Anfangswerte zuweisen. Dort kann ich sowas aber nicht machen!?