我正在使用Visual Studio 2010 Ultimate,正在研究.Net框架4。
来自XNA框架的groundControlPoint
和worldPosition
的类型为Vector2
。
我知道每个调试器都使用自己的精度管理,但这个问题使我的代码无效。
我想比较我对给定浮点值的加法(在我的例子中是5166.28003 ..),但由于我的加法结果是5166.28027
,它总是错误的......
有关如何理解的提示?
答案 0 :(得分:1)
作为stated in MSDN,float
的精度只有7位......
float
类型可以表示从大约1.5×10E-45到3.4×10E38的值,精度为7位。
在您的情况下,您处理的值为5166.28003
,因此只能精确到小数点后三位。
如果您需要更高的精度,请考虑使用double
(精度为15-16位)或decimal
(通常用于财务和货币计算)。
答案 1 :(得分:1)