我在维护/扩展的代码块中注意到以下内容:
float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (systemVersion > 3.2 || systemVersion == 3.2 ) {
//Stuff
}
我知道由于精度原因, float 会导致一些奇怪的比较行为,但是上面的行为与下面的代码块有什么不同吗?
float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (systemVersion >= 3.2) {
//Stuff
}
最佳答案
其实是一样的。在许多编译器中,生成的机器指令完全相同(尽管我不能肯定地说 clang 也是如此)。
关于ios - float 比较 >= 与 (> or ==),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269213/