📅  最后修改于: 2020-11-03 15:55:09             🧑  作者: Mango
在Objective-C编程语言中,为了以对象形式保存int,float,bool等基本数据类型,
Objective-C提供了使用NSNumber的多种方法,下表列出了重要的方法。
Sr.No. | Method & Description |
---|---|
1 |
+ (NSNumber *)numberWithBool:(BOOL)value Creates and returns an NSNumber object containing a given value, treating it as a BOOL. |
2 |
+ (NSNumber *)numberWithChar:(char)value Creates and returns an NSNumber object containing a given value, treating it as a signed char. |
3 |
+ (NSNumber *)numberWithDouble:(double)value Creates and returns an NSNumber object containing a given value, treating it as a double. |
4 |
+ (NSNumber *)numberWithFloat:(float)value Creates and returns an NSNumber object containing a given value, treating it as a float. |
5 |
+ (NSNumber *)numberWithInt:(int)value Creates and returns an NSNumber object containing a given value, treating it as a signed int. |
6 |
+ (NSNumber *)numberWithInteger:(NSInteger)value Creates and returns an NSNumber object containing a given value, treating it as an NSInteger. |
7 |
– (BOOL)boolValue Returns the receiver’s value as a BOOL. |
8 |
– (char)charValue Returns the receiver’s value as a char. |
9 |
– (double)doubleValue Returns the receiver’s value as a double. |
10 |
– (float)floatValue Returns the receiver’s value as a float. |
11 |
– (NSInteger)integerValue Returns the receiver’s value as an NSInteger. |
12 |
– (int)intValue Returns the receiver’s value as an int. |
13 |
– (NSString *)stringValue Returns the receiver’s value as a human-readable string. |
这是一个使用NSNumber的简单示例,该代码将两个数字相乘并返回乘积。
#import
@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;
}
现在,当我们编译并运行程序时,我们将得到以下结果。
2013-09-14 18:53:40.575 demo[16787] The product is 105