1

私は javascript が大好きです。誤解しないでください。しかし、私の問題は、現在、科学計算用のオープン ソース Web アプリケーションを開発したいと考えており、javascript の演算が最も正確ではないことです。私はサーバー側のスクリプトを作成しましたが、ユーザーのエクスペリエンスが一般的にスムーズで、サーバーの負荷が少ないという明らかな理由から、クライアント側を好みます。

この問題を回避するためのオプションは何ですか? javascript の上に言語を実装できるという記事をどこかで読んだことがあります。たとえば、javascript の上に python を実装するとしたら、それはクライアントがサイトを使用するために python インタープリターが必要であることを意味しますか?

私はちょうど扱うことができません

0.1 + 0.2 == 0.3 // is False
4

2 に答える 2

4

浮動小数点演算は近似計算です

これは間違っていません 詳細はこちら

奇妙なプログラミング動作

これは JavaScript に固有のものではなく、プログラミング全体で一般的です。

これが私がクロムで得たものです:

0.1 + 0.2 = 0.30000000000000004;

そして、これは主題に関するシンプルだが優れた読み物です:

すべてのプログラマーが浮動小数点演算について知っておくべきこと

0.1 + 0.2 などの数値を足して 0.3 にならず、代わりに 0.30000000000000004 のような奇妙な結果が得られるのはなぜですか?

内部的に、コンピューターは 0.1、0.2、0.3 などの数値を正確に表すことができない形式 (2 進浮動小数点) を使用しているためです。

コードがコンパイルまたは解釈されると、「0.1」はすでにその形式の最も近い数値に丸められているため、計算が行われる前であっても小さな丸め誤差が発生します。

于 2012-09-12T18:51:09.763 に答える
2

より優れた数学演算を可能にするライブラリがいくつかあります。

ただし、これをサーバー側で行うことを強くお勧めします。AJAX を介して簡単に実行でき、応答性について心配する必要はありません。Javascript は実際には数値用に構築されていません。

于 2012-09-12T18:54:00.997 に答える