【发布时间】:2018-10-26 16:36:30
【问题描述】:
我们在代码中进行了计算,可以计算一些这样的调整值
a = Math.Round(b, 3) + Math.Round(b * c1, 3) + Math.Round(b * c2, 3);
问题是现在我需要做反向计算。我有a,c1&c2 的值,需要找到b 的值。这可能吗?
【问题讨论】:
-
与
Math.Round()?要取回确切值? -
简答,不。根据定义,舍入会丢失信息。充其量您可以将其缩小到一个值范围。
-
@Gab 在这种情况下它只是
b = a / (1 + c1 + c2); -
@Gab 你能举一个
c1、c2和a的值的例子吗? -
由于您引入的所有舍入错误,您的反向计算将被取消。您是否有理由对每个术语进行舍入而不是仅对结果进行舍入?为什么不
Math.Round(b + b * c1 + b * c2, 3);?
标签: c# algorithm math calculation