javascript - 我的客户端选项是什么?

时间:2012-09-12 18:46:30

标签: javascript client-side scientific-computing scientific-software

我喜欢javascript,不要误会我的意思,但我的问题是我目前想开发用于科学计算的开源Web应用程序,而javascript的算法并不是最精确的。我在服务器端编写脚本,但我更喜欢客户端,原因很明显,用户体验通常更平滑,服务器负载更少。

就解决这个问题,我有哪些选择?我已经阅读过你可以在javascript之上实现语言的地方 - 这是值得的,它看起来像什么?如果我这样做,比如在javascript之上实现python,这是否意味着客户端需要python解释器才能使用该网站?

我无法处理

0.1 + 0.2 == 0.3 // is False

2 个答案:

答案 0 :(得分:4)

浮点运算是近似计算

这没有错,请多看一下

Weird programing behavior

这不是javascript特有的,但在整个编程中很常见

以下是我对chrome的了解:

0.1 + 0.2 = 0.30000000000000004;

这是一个关于这个主题的简单而精彩的读物:

What Every Programmer Should Know About Floating-Point Arithmetic

  

为什么我的数字,如0.1 + 0.2加起来不是很好的一轮0.3,而是我得到一个奇怪的结果,如0.30000000000000004?

     

因为在内部,计算机使用格式(二进制浮点)   它不能准确地表示0.1,0.2或0.3之类的数字。

     

编译或解释代码时,您的“0.1”已经存在   四舍五入到该格式的最接近的数字,这导致一个小的   甚至在计算发生之前就会出现舍入错误。

答案 1 :(得分:2)

有一些库允许更好的数学运算:

但是,我强烈建议做这个服务器端。您可以轻松地 通过AJAX 进行操作,而不必担心响应能力。 Javascript并不是真的为数字而构建。