2016年12月1日 星期四

NSNumber::比較大小

NSNumber compare

!!! 切記!儲存於NSNumber物件的值,擷取時必須要一致。 擷取時輸出型態與儲存時的型態不同時,系統並不會出錯,而會輸出無效的值

NSNumber *myNumber, *floatNumber, *intNumber; NSInteger myInt; NSComparisonResult compareResult1, compareResult2; intNumber = [NSNumber numberWithInteger: 100]; floatNumber = [NSNumber numberWithFloat: 100.00]; myNumber = [NSNumber numberWithDouble: 123456e+15]; compareResult1 = [intNumber compare: myNumber]; compareResult2 = [intNumber compare: floatNumber]; //NSOrderedAscending < 官方解釋(The left operand is smaller than the right operand.) //NSOrderedSame == 官方解釋(The two operands are equal.) //NSOrderedDescending > 官方解釋(The left operand is greater than the right operand.) if(compareResult1 == NSOrderedAscending) NSLog(@"intNumber is less than myNumber"); else if(compareResult1 == NSOrderedSame) NSLog(@"intNumber is equal to myNumber"); else if(compareResult1 == NSOrderedDescending) NSLog(@"intNumber is greater than myNumber"); else NSLog(@"What the fuck?!"); if(compareResult1 == NSOrderedAscending) NSLog(@"intNumber is less than floatNumber"); else if(compareResult1 == NSOrderedSame) NSLog(@"intNumber is equal to floatNumber"); else if(compareResult1 == NSOrderedDescending) NSLog(@"intNumber is greater than floatNumber"); else NSLog(@"What the fuck?!"); 執行結果:

沒有留言:

張貼留言