In C#2小数点以下切り上げ戦略MidpointRounding.ToEven
とMidpointRounding.AwayFromZero
の精度に違いはありますか?私は、丸められた数値の間に均等な分布を保証するか、または丸められた数値を他の丸められた数値と比べて表すための1つの丸め戦略ですか? MSDNからC#丸め中点丸め.Tevenと中点丸め.AwayFromZero
11
A
答えて
27
:デフォルトでは
、恐らくMath.roundはMidpointRounding.ToEvenを使用しています。ほとんどの人は、「ゼロに丸める」という選択肢を「均等に丸める」ことに慣れていないため、学校でより一般的に教えられています。 .NETは、丸められる数値が正の値であると仮定すると、丸められるよりも少し丸められる傾向に「ゼロから丸める」傾向を共有しないため、統計的に優れているため、「丸めようとする」という既定値になります。 )
データセットによっては、常に中央値を上に丸めるため、対称算術丸めによって大きな偏りが生じる可能性があります。単純な例を取るために、1.5,2.5,3.5という3つの値の平均値を求めたいとしますが、その平均値を計算する前に最初に最も近い整数に丸めたいとします。これらの値の真の平均は2.5であることに注意してください。公式算術四捨五入を使用すると、これらの値は2,3,4に変化し、その平均は3です。バンカーの丸めを使用すると、これらの値は2,2,4に変化し、その平均は2.67です。後者の丸め方法は3つの値の真の平均に非常に近いので、データの損失を最小限に抑えます。
http://msdn.microsoft.com/en-us/library/system.math.round.aspx
関連する問題
- 1. 丸め小数点
- 2. 浮動小数点丸め
- 3. PHP丸め、丸型/床/床??
- 4. ゼロからの中点丸め.net C#十進数からJava double
- 5. 異なる時点での小数点の丸め
- 6. DataGridViewの丸め
- 7. 丸め実行
- 8. 丸め問題
- 9. JavaScriptの丸め
- 10. ナンシーアレイの丸め
- 11. TSQLカスタム丸め
- 12. Oracleタイムスタンプ丸め
- 13. Pythonディビジョン丸め
- 14. 丸めフロートが
- 15. バリアントの丸め
- 16. 数値の丸めVS C#
- 17. Cは、varが丸めフロート++
- 18. トップに丸めます - C#
- 19. opencvでC++で浮動小数点数を丸める方法
- 20. Cの浮動小数点数を丸める#
- 21. C#プログラミングの小数点データ型による自動丸め値
- 22. Objective-Cの小数点以下2桁を丸める方法
- 23. 小数点以下の小さな小数点を丸める方法C#
- 24. 二重丸めクエリ
- 25. 丸めTimeDateの値
- 26. javascriptの丸め量
- 27. Fortran丸め誤差
- 28. Neo4j丸め関係
- 29. 丸め整数ルーチン
- 30. カスタム丸め関数
この質問への受け入れ答え:http://stackoverflow.com/questions/311696/why-does-net-use-bankers-rounding-as-defaultは:) – MattDavey
Iを物事をクリアする必要があります以下の例がそれをよりよく説明すると思う。 :) –
ええ、そうです:) - リンクされた質問には多くの背景情報があります。 – MattDavey