問題タブ [rounding-error]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scalaでdoubleまたはfloatを丸める最良の方法は何ですか?
基本的に、アサートは爆破され、出席者は 135 ではなく 134 を返しました。しかし、それが最善/適切/慣用的な方法であるかどうか疑問に思っていました.
このコードがどこから来たのか知りたい人のために:出席コード
tsql - SQL Server が、返された浮動小数点値を含むレコードを見つけられない
次のようなクエリがあります。
返されるレコードの FLOAT 列 ConsumptionRate の値は 16.5667068820687 です。
クエリの最後に次を追加します。
新しいクエリを実行すると、追加の条件が SQL Server 自体が報告したものとまったく同じであるにもかかわらず、ゼロ レコードが返されます。これは丸め誤差だと思います。ただし、最初のクエリによって返された結果に基づいて 2 番目のクエリを実行する CLR 関数があります。
最初の結果の正確な表現を維持しながら、2 番目の結果で既存のレコードを見逃さないようにするには、生成された検索基準で何ができますか?
c - acos() は、C で 2 つの近い点があると悪い結果になります
緯度/経度 (ラジアンではなく度数) とコサインの球面法則を使用して 2 点の距離を計算する関数を作成しています。私が抱えている問題は、関数の丸め誤差のためacos()
に、2 つの点が互いに非常に近い場合に得られる結果があまり良くないことです。
出力は
ご覧のとおり、計算するacos()
とゼロになるはずですが、地球の半径を掛けた後に非常に拡大されるいくつかのエラーが発生します。また、2 つの点が等しくないが非常に近い場合にも発生します。緯度と経度に関する私のデータは、10 進数で 7 桁までです。
perl - printf/sprintf の Perl 丸めバグ
誰でもこれがどのように説明できますか:
これを出力します:
現時点では、信頼できないため、printf と sprintf の使用を停止しました。だから私は代わりにこれをやっています:
これは機能しますが、なぜこれを行う必要があるのか について興味があります。
2 進数がすべての基数 10 の数値を正確に表すことができないことを理解しており、このスタック オーバーフロー エントリ: Perl の丸めエラーをなくす方法 を読みましたが、正直なところ、このような一見単純な例で問題が発生するとは思っていませんでした。
$amount の値も正しいです。printf が正しく印刷されていないだけです。
何か案は?
javascript - 浮動小数点エラーの混乱
この浮動小数点の問題を JavaScript で解決しようとしています。これは私がやりたいことの例です:
ただし、この形式では、0.2 -> 0.4 -> 0.600...001 という丸めエラーが発生します。
を試しparseFloat
、他のスレッドtoFixed
でMath.round
提案しましたが、どれもうまくいきませんでした。選択肢がなくなったと感じているので、これを機能させることができる人はいますか。