我有一个 float ,其中包含一个非常重要的值,它必须非常精确。
我遇到的问题是我总是只更改 float 的值 + 和 -(这里没有除法)。
更改值大约 20 次后,值不是预期的 0.05,而是 0.0499989。< br/> 这是为什么?我不是在转换 float ,我不是在划分它,但它神奇地从 0.05 变为 0.049989。
我尝试了 Math.Round(value, 2);
但它没有返回0.05 要么。我现在该怎么办??
最佳答案
许多(如果不是大多数)语言中的浮点变量仅保存实际值的不精确近似值。您可以使用 decimal
数据类型解决 C# 中的问题。 See this SO question.
关于C# float 神奇地改变值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542575/