0

我的应用程序需要将数字四舍五入到小数点后 2 位。我有一个包含 4 个字段的文档:例如,、、xy。和:zAmount

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”对我不起作用,因为我们有现有数据,并且其他一些计算取决于“金额”的四舍五入值。

4

1 回答 1

0

您可以将完整的(未四舍五入的)子金额存储在变量中(例如,S1 将包含 2.891,S2 将是 0.413,S3 将是 0.413,S4 将是 0.413)。要填写您的文档,只需将 S1 的四舍五入值作为 SubAmount1,S2 的四舍五入值作为 SubAmount2,S3 的四舍五入值作为 SubAmount3,S4 的四舍五入值作为 SubAmount4。TotalAmount 的值是通过对总和 (S1+S2+S3+S4) 进行四舍五入获得的。希望对您有所帮助。

于 2013-07-16T13:51:38.413 回答