C#中的除法输出与excel不同

时间:2017-11-08 16:51:18

标签: c#

我有这个公式来获得FinalQuantity = Quantity / PriceQuantity声明为doublePrice声明为float

如果我在代码中手动输入值。 FinalQuantity = 9000000 / 102.6411它的输出为87684.173299000118

但是如果我将值分配给变量QuantityPrice。它将输出87684.174988370942。我尝试将Quantity转换为IntegerPrice转换为double,但仍获得相同的结果。

有人可以帮我解决问题。

1 个答案:

答案 0 :(得分:2)

问题是浮点值是通过值和exponenent计算的。这允许您在少量内存中存储大量数字表示。这也意味着你并不总是得到你正在寻找的数字,非常非常接近。这就是为什么在比较浮点值时,可以在一定容差范围内对它们进行比较。

换句话说......正如其他人所说的......总是使用Decimal