我正在做以下等式,但结果并不像预期的那样
double dasdas = Math.Abs(3.2 - 1.9);
结果是
1.3000000000000003
但是正确的结果应该是
1.3
这可能是什么原因?
c#4.5.2
答案 0 :(得分:1)
这是因为您正在使用double - 这是一个浮点。这些按照定义这不能存储确切的数字。
您需要使用Decimal
。
看看here和What Every Computer Scientist Should Read About Floating Point
答案 1 :(得分:1)
使用decimal
:
decimal dasdas = Math.Abs(3.2m - 1.9m);