1

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

就解决此问题而言,我有哪些选择?我在某处读过,您可以在 javascript 之上实现语言——这值得吗?这看起来像什么?例如,如果我在 javascript 之上实现 python,这是否意味着客户端需要 python 解释器才能使用该站点?

我只是无法处理

0.1 + 0.2 == 0.3 // is False
4

2 回答 2

4

浮点运算是近似计算

这没有错查看更多

奇怪的编程行为

这不是特定于 javascript,而是在整个编程中很常见

这是我在 chrome 上得到的:

0.1 + 0.2 = 0.30000000000000004;

这是关于该主题的简单但出色的阅读:

每个程序员都应该知道的关于浮点运算的知识

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

因为在内部,计算机使用的格式(二进制浮点)根本无法准确表示 0.1、0.2 或 0.3 之类的数字。

当代码被编译或解释时,你的“0.1”已经被四舍五入到该格式中最接近的数字,这会在计算发生之前导致一个小的舍入误差。

于 2012-09-12T18:51:09.763 回答
2

有一些库可以实现更好的数学运算:

但是,我强烈建议做这个服务器端。您可以通过 AJAX轻松完成,而不必担心响应速度。Javascript 并不是真正为数字而构建的。

于 2012-09-12T18:54:00.997 回答