Ziel-C-Zahlen

In der Programmiersprache Objective-C, um die grundlegenden Datentypen wie int, float, bool in Objektform zu speichern,

Objective-C bietet eine Reihe von Methoden für die Arbeit mit NSNumber. Wichtige Methoden sind in der folgenden Tabelle aufgeführt.

Sr.Nr. Methode & Beschreibung
1

+ (NSNumber *)numberWithBool:(BOOL)value

Erstellt ein NSNumber-Objekt mit einem bestimmten Wert und gibt es als BOOL zurück.

2

+ (NSNumber *)numberWithChar:(char)value

Erstellt ein NSNumber-Objekt, das einen bestimmten Wert enthält, und gibt es als signiertes Zeichen zurück.

3

+ (NSNumber *)numberWithDouble:(double)value

Erstellt ein NSNumber-Objekt mit einem bestimmten Wert und gibt es als Double zurück.

4

+ (NSNumber *)numberWithFloat:(float)value

Erstellt ein NSNumber-Objekt, das einen bestimmten Wert enthält, und gibt es als Gleitkommawert zurück.

5

+ (NSNumber *)numberWithInt:(int)value

Erstellt ein NSNumber-Objekt, das einen bestimmten Wert enthält, und gibt es als signiertes int zurück.

6

+ (NSNumber *)numberWithInteger:(NSInteger)value

Erstellt ein NSNumber-Objekt, das einen bestimmten Wert enthält, und gibt es als NSInteger zurück.

7

- (BOOL)boolValue

Gibt den Wert des Empfängers als BOOL zurück.

8

- (char)charValue

Gibt den Wert des Empfängers als Zeichen zurück.

9

- (double)doubleValue

Gibt den Wert des Empfängers als Double zurück.

10

- (float)floatValue

Gibt den Wert des Empfängers als Float zurück.

11

- (NSInteger)integerValue

Gibt den Wert des Empfängers als NSInteger zurück.

12

- (int)intValue

Gibt den Wert des Empfängers als int zurück.

13

- (NSString *)stringValue

Gibt den Wert des Empfängers als lesbare Zeichenfolge zurück.

Hier ist ein einfaches Beispiel für die Verwendung von NSNumber, das zwei Zahlen multipliziert und das Produkt zurückgibt.

#import <Foundation/Foundation.h>

@interface SampleClass:NSObject
- (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b;
@end

@implementation SampleClass

- (NSNumber *)multiplyA:(NSNumber *)a withB:(NSNumber *)b {
   float number1 = [a floatValue];
   float number2 = [b floatValue];
   float product = number1 * number2;
   NSNumber *result = [NSNumber numberWithFloat:product];
   return result;
}

@end

int main() {
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

   SampleClass *sampleClass = [[SampleClass alloc]init];
   NSNumber *a = [NSNumber numberWithFloat:10.5];
   NSNumber *b = [NSNumber numberWithFloat:10.0];   
   NSNumber *result = [sampleClass multiplyA:a withB:b];
   NSString *resultString = [result stringValue];
   NSLog(@"The product is %@",resultString);

   [pool drain];
   return 0;
}

Wenn wir nun das Programm kompilieren und ausführen, erhalten wir das folgende Ergebnis.

2013-09-14 18:53:40.575 demo[16787] The product is 105