【问题标题】:float number range in php. -0 is float?php 中的浮点数范围。 -0 是浮点数?
【发布时间】:2014-08-12 08:13:51
【问题描述】:

当我在 float 中转换字符串 '-0'时,它返回 float 类型 -0

例子

$x = '-0';
$y = (float)$x;

结果 => 浮动 -0

为什么-0 是浮点数?

【问题讨论】:

  • 您明确将其转换为(float),不是吗?
  • 在我看来-0不能是浮点值...
  • 您正在将其转换为浮动。并问为什么它现在是浮动的。
  • 为什么不能是浮点值?

标签: php numbers floating


【解决方案1】:

IEEE 754 标准是几乎所有计算机语言实现浮点数的方式,它同时具有 +0-0 值。

对于大多数操作,+0-0 可以互换使用。

但是,错误到无穷大的操作,使用+0-0 转到+Infinity 和-Infinity。

因为-0 是一个有效的浮点数,所以将-0 转换为浮点数将完全按照您的要求执行——返回一个值正好为-0 的浮点数。

【讨论】:

  • -0 和 +0 有什么不同? if(-0 == +0) TRUE 或 FALSE 会输出什么?
  • @Anri - 用 PHP 30 秒回答这个问题比在这里提问要快。
  • 他们是平等的。 “PHP 通常使用 IEEE 754 双精度格式” - 阅读此主题:stackoverflow.com/questions/5095968/…
【解决方案2】:

我们都知道所有的整数都是浮点数。在 PHP 中来自 here

整数可以用十进制(以 10 为底)、十六进制(以 16 为底)、八进制(以 8 为底)或二进制(以 2 为底)表示法指定,前面可选用符号(- 或 +)

所以-0int 通常是float

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2022-11-12
    相关资源
    最近更新 更多