0

私はこの主題に関する一連の質問に追加するのは嫌いですが、簡潔な答えを求めて他にどこに頼るべきかわかりません。

私はjsFiddleにこのフォームを持っています

今日オンラインで見つけたいくつかの異なる例を組み合わせて、必要な全体的な効果を得ることができました。

調査中に、フロートを追加することの危険性について話している多くの投稿を見つけました。精度に関してこれが通常悪い考えである理由の概念を理解していると思います。ただし、これは実際には2つの数値の合計が小数点以下の桁数で与えられた場合にのみ問題になるようです。(6以上のように)

私のコードでは、小数点以下2桁の数字のみを追加var n=val.toFixed(2);し、結果の小数点以下2桁のみを確認するために使用 します。テストすると、すべてがうまくいくようです。

私の質問は 2 つあります。

  1. 小数点以下2桁しか必要ない場合、これは目的の結果を達成し、精度を維持するための許容可能な方法ですか?

  2. 私が望むことを行うためのより良い、またはより受け入れられている方法を示すを教えていただけますか?

敬意を表して (そして私はこのコミュニティに多大な敬意を払っています)は「クライアント側の検証はサーバー側の検証に取って代わるものではない」ことを知ってい ます。問題ではない他のブラウザ。

4

1 に答える 1

1

一般的に、はい。浮動小数点数は通常、有効桁数 15 桁の精度を提供できるため、ほとんどの場合、2 桁のみを維持することで機能します。

ただし、私の個人的な経験では、常に整数で作業する方が信頼性が高いことがわかりました。文字列操作を使用して小数点を削除し、元の数値に効果的に掛けた 10 の累乗を追跡することさえできます。最後にまた分けます。

于 2013-02-15T06:27:29.947 に答える