1

我对我正在开发的程序的结果有疑问。

例如,如果我有一个数字 8672.59,我想把它分成 2,结果应该是 4336.295。问题是如何将其转换为 2 位小数点并四舍五入结果,以便在添加 2 个数字时仍然可以得到正确的数量..

例子。

8672.59 / 2 = 4336.295

如果四舍五入为 2 位小数点,则结果为4336.30

我如何将其转换为 2 位小数点而不四舍五入,这样如果将其乘以 2,结果将与8672.59而不是8672.60相同

谢谢你!

4

2 回答 2

2

如果您希望此操作是可逆的,您需要存储足够的信息来取消计算。因此,如果您仅将 8672.59 / 2 存储到小数点后两位,则无法通过乘以 2 得到 8672.59。您将得到 8672.58 或 8672.60,具体取决于您存储的是 4336.29 还是 4336.30。

现在,您可以将数字存储到小数点后三位(或任何您需要的精度)并仅显示其中两位。只需将存储的数字乘以 2,即可返回原始数字。

于 2013-10-30T03:01:37.100 回答
1

从整体中减去四舍五入的结果。

Dim Total as Double = 8672.59
Dim OneHalf = Math.Round(Total/2, 2)
Dim SecondHalf = Total - OneHalf

在您的示例中,Total = 8672.59,所以 OneHalf = 4336.30(四舍五入)

第二半 = 8672.59 - 4336.30 = 4336.29

于 2013-10-30T02:57:55.790 回答