Math.sin()在服务器/客户端上给出不同的结果
Math.sin() gives different results on server/client?
我使用Meteor。它在服务器端和客户端都使用Javascript。
当我运行Math.sin(356644061314425) * 10000
时,我得到:
服务器上的-9986.46139381927
和
-9986.46115497749
在客户端/浏览器/app
为什么会这样?我该如何预防呢?
编辑:提出的重复问题是指度/弧度。我认为我的问题更多的是运行时的问题。
我认为"我如何防止这种情况发生?"的答案是"你不能"。
"为什么是这样?"的答案是,Math的javascript实现。
看到http://www.ecma-international.org/ecma-262/5.1/sec-15.8.2.16
特别是"sin (x)返回与实现相关的sin (x)近似值。参数以弧度表示。"(我的斜体)。
但我的实验表明,现代浏览器目前只使用两种实现中的一种,Chrome与其他浏览器不同(似乎比其他浏览器更准确)。
相关文章:
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- 在客户端缓存大量 json 结果
- 有一个公式在服务器端和客户端的不同结果
- 服务器端函数调用客户端Javascript函数以获取结果
- Math.sin()在服务器/客户端上给出不同的结果
- 谷歌云端点没有结果通过JavaScript客户端
- Node.js客户端vs.服务器-相同的代码不同的结果
- 等着流星.客户端的呼叫结果
- 在Spring MVC中返回@Async方法结果,并将其返回给Ajax客户端
- 如何用c#向客户端显示确认对话框并使用结果
- ASP.使用JQuery更新客户端双列表框,以及如何在服务器端检索结果
- 是否可以在Internet Explorer 8+中对客户端XSL转换的结果执行XPATH查询?
- Redis客户端和节点js - hgetall方法失败,结果为空
- 使用POST传递客户端地理编码结果
- 客户端successHandler为null,但服务器日志显示结果
- Jsreport在从客户端和服务器进行渲染时显示不同的结果
- ASP.NET MVC 返回文件结果,其中包含要在客户端处理的其他数据
- 缓存谷歌地图客户端地理编码结果
- MarkLogic 8 -流大型结果集到文件- JavaScript - Node.js客户端API
- AppScan结果显示客户端跨帧脚本攻击错误