學習過OC的同學應該都知道,OC中很多類型都是對象,NSArray中存儲的是對象類型。所以把基本的C語言中的數字類型轉換爲OC中的NSNumber類型很有必要,下面就介紹幾個常用的方法:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //1.創建NSNumber對象 NSNumber *num1 = [[NSNumber alloc] initWithFloat:10.5]; NSLog(@"%@", num1); //2.將num1轉爲基本數據類型 float value = [num1 floatValue]; NSLog(@"%.2f", value); //3.將對象轉換爲NSString類型的對象 NSString *numStr = [num1 stringValue]; NSLog(@"%@", numStr); //如何將NSString類型的對象轉爲浮點型 float value1 = [numStr floatValue]; NSLog(@"%.3f", value1); //4.判斷兩個NSNumber類型的對象是否相等 NSNumber *num2 = [[NSNumber alloc] initWithFloat:10.5]; //isEqualToNumber: 比較的是對象中存儲的數據 BOOL isEqual = [num1 isEqualToNumber:num2]; NSLog(@"isEqual=%d", isEqual); //5.比較 compare: NSComparisonResult result = [num1 compare:num2]; NSLog(@"%ld", result); } return 0; }
具體的一些操作說明可以看代碼中的註釋,說的比較清楚。因爲代碼比較短,所以就把完整的代碼給放上去了,其實這也是我在學習中總結的東西,基本上只實現了一種方法:float與對象和字符串的相互轉換,另外int、short等C語言中的數字類型也可以用類似的方法來實現。另外BOOL類型也可以存儲到NSNumber對象中。