Учебники

Числа Objective-C

В языке программирования Objective-C, чтобы сохранить основные типы данных, такие как int, float, bool в виде объекта,

Objective-C предоставляет ряд методов для работы с NSNumber, и важные из них перечислены в следующей таблице.

Sr.No. Метод и описание
1

+ (NSNumber *) numberWithBool: (BOOL) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, обрабатывая его как BOOL.

2

+ (NSNumber *) numberWithChar: (char) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, рассматривая его как подписанный символ.

3

+ (NSNumber *) numberWithDouble: (double) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, рассматривая его как double.

4

+ (NSNumber *) numberWithFloat: (float) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, обрабатывая его как число с плавающей точкой.

5

+ (NSNumber *) numberWithInt: (int) значение

Создает и возвращает объект NSNumber, содержащий данное значение, рассматривая его как подписанное int.

6

+ (NSNumber *) numberWithInteger: (NSInteger) значение

Создает и возвращает объект NSNumber, содержащий данное значение, рассматривая его как NSInteger.

7

— (BOOL) boolValue

Возвращает значение получателя в виде BOOL.

8

— (char) charValue

Возвращает значение получателя в виде символа.

9

— (double) doubleValue

Возвращает значение получателя как double.

10

— (float) floatValue

Возвращает значение получателя в виде числа с плавающей запятой.

11

— (NSInteger) integerValue

Возвращает значение получателя как NSInteger.

12

— (int) intValue

Возвращает значение получателя как int.

13

— (NSString *) stringValue

Возвращает значение получателя в виде удобочитаемой строки.

+ (NSNumber *) numberWithBool: (BOOL) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, обрабатывая его как BOOL.

+ (NSNumber *) numberWithChar: (char) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, рассматривая его как подписанный символ.

+ (NSNumber *) numberWithDouble: (double) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, рассматривая его как double.

+ (NSNumber *) numberWithFloat: (float) значение

Создает и возвращает объект NSNumber, содержащий заданное значение, обрабатывая его как число с плавающей точкой.

+ (NSNumber *) numberWithInt: (int) значение

Создает и возвращает объект NSNumber, содержащий данное значение, рассматривая его как подписанное int.

+ (NSNumber *) numberWithInteger: (NSInteger) значение

Создает и возвращает объект NSNumber, содержащий данное значение, рассматривая его как NSInteger.

— (BOOL) boolValue

Возвращает значение получателя в виде BOOL.

— (char) charValue

Возвращает значение получателя в виде символа.

— (double) doubleValue

Возвращает значение получателя как double.

— (float) floatValue

Возвращает значение получателя в виде числа с плавающей запятой.

— (NSInteger) integerValue

Возвращает значение получателя как NSInteger.

— (int) intValue

Возвращает значение получателя как int.

— (NSString *) stringValue

Возвращает значение получателя в виде удобочитаемой строки.

Вот простой пример использования NSNumber, который умножает два числа и возвращает продукт.

Live Demo

#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;
}

Теперь, когда мы скомпилируем и запустим программу, мы получим следующий результат.