如何检查变量的类型?

时间:2011-01-05 21:07:05

标签: objective-c c

我想知道someVariable是int还是float类型。我该怎么办?

编辑:在运行时的代码中!在IDE中很简单。我想知道是否有某种类型的运算符来查看你是在处理int,float,long,char,unsigned char,long long还是其他什么。

3 个答案:

答案 0 :(得分:10)

if ((1?1:var)/2) {
    /* it's floating point */
} else {
    /* it's an integer */
}

答案 1 :(得分:2)

someVariable是NSNumber吗?如果它是一个原始的C类型(实际的intfloat),那么你已经知道了,因为它只能被声明为其中之一,编译器(和Xcode)将强制执行。正如另一位评论者所指出的,Command-双击名称以在Xcode中找到声明。

答案 2 :(得分:0)

因为sizeof(float)== sizeof(int)(取决于平台,但在i386和当前的iPhone上这是有效的) - 我相信你无法在运行时决定你的变量是int还是float。
编辑:格雷格在评论中是正确的。这项检查没有任何意义。