私のアプリケーションでは、数値を小数点以下 2 桁に丸める必要があります。たとえば、x
、y
、 、 のz
4つのフィールドを持つドキュメントがあります。Amount
と:
Amount = x*y/z;
これが私の問題です:
TotalAmount: x(100)*y(41.30)/z(1000) = 4.13.
SubAmount1: x(70)*y(41.30)/z(1000) = 2.89 [2.891 before rounding]
SubAmount2: x(10)*y(41.30)/z(1000) = 0.41 [0.413 before rounding]
SubAmount3: x(10)*y(41.30)/z(1000) = 0.41 [0.413 before rounding]
SubAmount4: x(10)*y(41.30)/z(1000) = 0.41 [0.413 before rounding]
現在、すべての合計は'SubAmounts'
と等しくありません'TotalAmount'
。四捨五入0.01
により差が出ます。
この問題を解決するにはどうすればよいですか? あなたの提案を共有してください。
注:既存のデータがあり、他の計算は「金額」の丸められた値に依存しているため、小数点以下の桁数「2.891」を完全に保存することはできません。