如何检查IOS中的数字是NSInteger还是浮点数? [英] How to check whether a number is NSInteger or floating point in IOS?
本文介绍了如何检查IOS中的数字是NSInteger还是浮点数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要检查来自服务器的值是NSString,NSInteger还是float.如果是字符串,我可以检查.但是如何区分浮点数和整数呢?
I need to check whether a value which is coming from the server is NSString , NSInteger or float. In case of string i am able to check.But how can we differentiate between a float and integer ?
推荐答案
此处是操作方法
NSNumber * n = //from somewhere
if (strcmp([n objCType], @encode(float)) == 0) {
NSLog(@"this is a float");
} else if (strcmp([n objCType], @encode(int)) == 0) {
NSLog(@"this is an int");
}
编辑
好的,让我们更通用
NSNumber *anyNSObject = [NSNumber numberWithFloat:0.4];
id obj = anyNSObject; //you can pass anything here as long as it is inherited from NSObject
if ([obj isKindOfClass:[NSString class]]) {
NSLog(@"This is string");
}
if ([obj isKindOfClass:[NSNumber class]]) {
NSLog(@"This is NSNumber");
if (strcmp([obj objCType], @encode(float)) == 0) {
NSLog(@"this is a float");
} else if (strcmp([obj objCType], @encode(int)) == 0) {
NSLog(@"this is an int");
}
}
这篇关于如何检查IOS中的数字是NSInteger还是浮点数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文