【问题标题】:the concept of NAN and is_nan() function in php [duplicate]php中NAN和is_nan()函数的概念[重复]
【发布时间】:2019-03-09 02:51:29
【问题描述】:

PHP 中的 NaN 是什么概念?它在何时何地使用,为什么有用?

下面这个函数是做什么用的?拜托,我需要对下面的代码进行解释。

<?php echo is_nan(200) . "<br>"; echo is_nan(acos(1.01)); ?>

【问题讨论】:

    标签: php nan


    【解决方案1】:

    NaN 的意思是“不是数字”。我们基本上将虚数(例如:复数)称为 NaN,例如:-1 的平方根 (i),acos(1.01)。这些数字无法计算/计算。

    Reference

    nan/"not a number" 并不是要查看数据类型是否为 数字/文本/等..

    NaN 实际上是一组可以存储在浮点数中的值 变量,但实际上并不计算为正确的浮点数 号码。

    浮点系统分为三个部分: 1 位用于符号 (+/-)、8 位指数和 23 位小数部分。有 管理哪些值组合可以放入每个值的规则 部分,并且某些值保留用于诸如无穷大之类的数字。 这会导致某些组合无效,或者换句话说, 不是数字。

    来自is_nan()函数的documentation

    bool is_nan ( float $val )
    

    详情:检查 val 是否为“非数字”,如 acos(1.01) 的结果。

    返回如果 val 不是数字,则返回 TRUE,否则返回 FALSE。

    所以,这个函数基本上是用来检查数学函数和运算的返回值的有效性,并且需要一个浮点数作为参数。

    现在,200 是一个有效数字。所以,is_nan(200) 将返回 False

    同时,acos(1.01) 正在尝试查找 1.01 的反余弦。从数学中我们很清楚,余弦函数的返回值在-1+1的范围内。所以不能存在 1.01(大于 1)的值。因此,acos(1.01) 无法确定。因此它不是一个有效的数字。因此,is_nan(acos(1.01)) 将返回 True

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 2013-10-18
      • 2011-03-24
      • 2020-12-02
      相关资源
      最近更新 更多