我目前正致力于在php中编写一个小型数学相关库。我知道在php中存在某种类似javascript的NaN
,它是NAN
float
类型的常量{。}}。
到目前为止,除了asin()
之类的php标准函数之外,我还没有遇到过这个常量,如果你传递一个无效参数(这里的> 1),它会返回NAN
值。确切的情况)。
is_float()
和is_numeric()
未检测到此值,因为它是float
类型,这两个函数都返回true
,检查它的唯一方法是{{1} }。此外,将其投放到is_nan()
将导致(int)
;
0
但是我所知道的现有库中没有一个使用这种行为,而是抛出错误是一种常见的选择。
所以我的问题是:我应该选择哪种方法?除了标准的php函数之外,为什么没有使用$x = asin(3); // $x = NAN
is_float($x); // true
is_numeric($x); // true
$d = (int)$x // $d = 0;
is_nan(0.5) // false
is_nan($x) // true
?