Auch die Ausgabe der Rechenergebnisse soll formatiert geschehen, da sie viel zu viele Nachkommastellen hat. Es gibt verschiedene Möglichkeiten, dies umzusetzen. Die Einfachste ist wahrscheinlich, die Zahlen so zu formatieren, dass weniger Kommastellen angezeigt werden. Änderen Sie die zwei Anweisungen in der calculate-Methode von
[outputGrad setFloatValue:outGrad];
[outputRAD setFloatValue:outRAD];
in
NSString *gradString = [NSString stringWithFormat:@"%.3f",outGrad];
[outputGrad setStringValue:gradString];
NSString *radString = [NSString stringWithFormat:@"%.3f",outRAD];
[outputRAD setStringValue:radString];
Jetzt werden die double-Wert explizit in eine Zeichenkette konvertiert, die anschliessend ausgegeben wird. Der Format Specifier .3f gibt an, dass die Zahl exakt drei Nachkommastellen haben soll.
Der Programmieraufwand für diesen Lösungsansatz ist nicht gerade gering. Aber es gibt alternative Möglichkeiten. Um die auszuprobieren, sollten Sie zuerst die Ausgabe wieder in ihrer ursprünglichen Art programmieren.
[outputGrad setFloatValue:outGrad];
[outputRAD setFloatValue:outRAD];
Der andere Lösungsweg erfordert keine Programmierung, sondern bedient sich eines Steuerelementes aus der Bibliothek des Interface Builder. Eines NSNumberFormatter.
Ziehen Sie zwei solcher Steuerelemente aus der Bibliothek auf die Textfelder im Programmfenster. Da mit diesem Formatter die Ausgabe formatiert werden soll, ziehen Sie es auf die NSTextField für Grad (Dezimal) und RAD. Klicken Sie anschliessend auf eines der Textfelder. Ein kleiner Kreis in der unteren Ecke des Feldes wird anzeigen, dass dieses Feld mit einem Formatter verbunden ist.
Klicken Sie anschliessend auf diesen Kreis, um den NSNumberFormatter auszuwählen und im Inspector seine Eigenschaften anzuzeigen. Wählen Sie in der ComboBox Behavior die Einstellung Mac OS X 10.4+ Custom und tragen Sie in die Felder Minimum Fraction Digits und Maximum Fraction Digits den Wert 2 ein. Fraction Digits sind die Zeichen nach dem Komma und mit diesen Einstellungen haben Sie zwei Nachkommastellen für die Ausgabe festgelegt. Der Minimum Wert ist wichtig, damit bei Zahlen wie zum Beispiel 45,0 immer noch 45,00 angezeigt wird. So erreichen Sie eine gleichbleibende Formatierung. Die Einstellung Interger Digits bestimmt die Anzahl der Zeichen vor dem Komma. Tragen Sie für Minimum Integer Digits den Wert 1 ein, damit ein Wert von ,75 als 0,75 dargestellt wird.
Wiederholen Sie diese Einstellung für den zweiten NSNumberFormatter. Jetzt habe Sie mit Hilfe eines NSNumberFormatter die Angaben angepasst. Die tatsächlichen Werte existieren aber immer noch im Code und können für weitere Berechnungen verwendet werden.
Geschrieben am: 10.11.2007 Technologien: Xcode, Objective-C, OS X