a、b、c の 3 つの double があるとします。
double a = 1.234560123;
double b = 7.890120123;
double c = a * b;
c = 9.740827669535655129
小数点以下 5 桁までの数値を操作したい。したがって、Math.Round(a, 5) と Math.Round(b, 5) を使用して a と b を丸めると、次のようになります。
double a_r = Math.Round(a, 5);
double b_r = Math.Round(b, 5);
a_r = 1.23456
b_r = 7.89012
double c_r = a_r * b_r;
c_r = 9.7408265472
しかし、c を計算すると、小数点以下 5 桁を超える数値が得られます (これは、すべての乗算、除算、増強、および同様の演算で発生します)。コード内のすべての結果を丸めることができますが、それは避けたい大変な作業です。
他の操作で c を使用し、この操作の結果を他の操作で使用するため、望ましくない小数点以下の桁数によるエラーを伝播しないように、毎回すべての中間結果を丸めたくありません。
操作とは関係なく、小数点以下の桁数が固定されている double を定義する方法はありますか?