javascript - Chrome 返回 '-0'

标签 javascript google-chrome chromium

在 Chrome JavaScript 控制台中:

Math.ceil(-0.5) 返回 -0

Math.ceil(-0.9) 返回 -0

Math.ceil(-0.1) 返回 -0

为什么在 0 前面打印出负号? 我本以为 Chrome 只会返回 0

使用 Chrome (OSX) 版本 49.0.2623.110(64 位)进行测试

最佳答案

Math.ceil 的行为在 § 20.2.2.10 的规范中定义。 ,对于 -10 之间的值有一个显式子句:

If x is less than 0 but greater than -1, the result is −0.

Chrome 之所以这样做,是因为规范明确要求它,并且 -0+0 略有不同。

JavaScript ( § 6.1.6 ) 和一般的 float ( IEEE 754 ) 区分正零和负零。

这种差异不是您经常遇到的,但可能很重要(尤其是在向硬件发送数据或在运行时内发送数据时),因此 JS 不能简单地忽略它。

关于javascript - Chrome 返回 '-0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36697852/

相关文章:

android - Chromium 51 和 Chromium 51 WebView 之间不一致的背景大小速记行为

Javascript解析文本数据错误?

javascript - 无限 For 循环 - Javascript - 出了什么问题?

javascript - 浏览器开发者工具 : Disable Warnings in 3rd Party Scripts

javascript - 为什么 mousemove 事件会导致 Chrome 中的数字输入失效?

visual-studio-2008 - Visual Studio 2008 中的 LNK1210

Android WebView 即时崩溃与 shouldInterceptRequest 覆盖

javascript - 点击事件不起作用

javascript - 单击链接创建新表单

html - 使用什么技术来显示这些优雅的可点击选项?