在Objective-C中,与Java中的Double.NaN
相对应的是什么?我有一个返回double类型的函数,但它有两种情况可以返回Double.NaN
。在Objective-C中,我该如何实现它呢?
在Objective-C中,与Java中的Double.NaN
相对应的是什么?我有一个返回double类型的函数,但它有两种情况可以返回Double.NaN
。在Objective-C中,我该如何实现它呢?
#include <math.h>
...
return NAN;
就是这么简单。如果由于某些原因无法包含<math.h>
,您也可以使用
return __builtin_nan("");
可以使用GCC或clang来实现。
值得一提的是,像Objective-C的大多数低级语言功能一样,这直接继承自C语言。 C规范中相关的部分为§7.12:
如果实现支持float类型的静态NaN,则定义宏NAN。 它扩展为表示静态NaN的float类型的常量表达式。
学习Objective-C时,请记住,每个C程序都是一个Objective-C程序,并且使用C语言功能解决问题没有任何问题。
double nan = NAN;
非常简单。 :)
double
还是一个对象NSNumber
? - falconcreek