【问题标题】:Cross-Browser/Engine Math.PI is always 3.141592653589793?跨浏览器/引擎 Math.PI 始终为 3.141592653589793?
【发布时间】:2011-05-02 04:55:30
【问题描述】:

只是一个非常随机的问题,但是 JavaScript 中的属性 Math.PI 在每个浏览器/引擎中总是 3.141592653589793 吗?

【问题讨论】:

  • 我其实在想有人会这样做... ;)

标签: javascript math cross-browser cross-platform v8


【解决方案1】:

我希望如此。

ECMAScript Spec 说:

15.8.1.6 PI

π 的数值,即圆的周长与其直径的比值,约为3.1415926535897932

【讨论】:

  • “大约” - 这不意味着他们可以做到 3.1415926535897931 吗? :-) 或者甚至只是 3.14159?甚至 3 个。
  • 很确定他们会说“大约”,因为 PI 是一个无理数(尽管措辞确实令人困惑)。
  • “近似”一词描述了 3.1415926535897932 与 PI 的确切值之间的关系。在规范的早些时候,注意到短语“数字值”具有第 8.5 节中定义的技术含义,其中指出它必须是最接近的 IEEE-754 双精度值。 +1,但是通过明确地结合这些信息可以改善答案。
  • 是的,如果知道那些 Math 对象静态值(如 PI 等)在每个 JavaScript 实现中是否都相同……但我想你是对的。
【解决方案2】:

这就是规范中关于 Math.PI 的内容:

π 的数值,即圆的周长与其直径的比值,约为 3.1415926535897932。

请注意,它说的是“大约”,这意味着它不保证确切的值。但是,由于使用标准 IEEE 754 表示需要数字,因此您可以期望大多数实现具有相似的准确性。

【讨论】:

  • 它说“大约”,因为 PI 是一个无理数。还记得六年级吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
  • 2018-02-20
  • 2013-02-26
  • 1970-01-01
相关资源
最近更新 更多