Objective-C 数字
在 Objective-C 编程语言中,为了以对象形式保存 int、float、bool 等基本数据类型,Objective-C 提供了一系列处理 NSNumber 的方法,重要的方法如下表所示:
| 编号 | 方法 & 描述 |
|---|---|
| 1 | + (NSNumber )numberWithBool:(BOOL)value 创建并返回包含给定值的 NSNumber 对象,将其视为 bool 布尔值。 |
| 2 | + (NSNumber )numberWithChar:(char)value 创建并返回包含给定值的 NSNumber 对象,将其视为有符号字符。 |
| 3 | + (NSNumber )numberWithDouble:(double)value 创建并返回包含给定值的 NSNumber 对象,将其视为 double。 |
| 4 | + (NSNumber )numberWithFloat:(float)value 创建并返回包含给定值的 NSNumber 对象,将其视为 float。 |
| 5 | + (NSNumber )numberWithInt:(int)value 创建并返回包含给定值的 NSNumber 对象,将其视为有符号整数。 |
| 6 | + (NSNumber )numberWithInteger:(NSInteger)value 创建并返回包含给定值的 NSNumber 对象,将其视为 NSInteger。 |
| 7 | - (BOOL)bool值 将接收方的值作为 bool 布尔值返回。 |
| 8 | - (char)char值 以字符形式返回接收方的值。 |
| 9 | - (double)double值 以 double 形式返回接收方的值。 |
| 10 | - (float)float值 以 float 形式返回接收方的值。 |
| 11 | - (NSInteger)integer值 将接收方的值作为 NSInteger 返回。 |
| 12 | - (int)int值 以 int 形式返回接收方的值。 |
| 13 | - (NSString *)string值 以可读字符串的形式返回接收方的值。 |
下面是一个使用 NSNumber 的简单实例,它将两个数字相乘并返回乘积。
#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;}@endint 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;}
结果如下:
2022-07-14 18:53:40.575 demo[16787] The product is 105