我喜欢javascript,不要误会我的意思,但我的问题是我目前想开发用于科学计算的开源Web应用程序,而javascript的算法并不是最精确的。我在服务器端编写脚本,但我更喜欢客户端,原因很明显,用户体验通常更平滑,服务器负载更少。
就解决这个问题,我有哪些选择?我已经阅读过你可以在javascript之上实现语言的地方 - 这是值得的,它看起来像什么?如果我这样做,比如在javascript之上实现python,这是否意味着客户端需要python解释器才能使用该网站?
我无法处理
0.1 + 0.2 == 0.3 // is False
答案 0 :(得分:4)
浮点运算是近似计算
这没有错,请多看一下
这不是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并不是真的为数字而构建。