我真的很困惑.我的代码:
Console.WriteLine(myChanges + " TEN METHOD " + (ten_num * TEN));(This for debug)
if ((myChanges - (ten_num * TEN)) >= 0)
{
}else
print error message
Run Code Online (Sandbox Code Playgroud)
就像myChannges = 0.3; TEN = 0.1; ten_num = 3,但是当我打印时(myChanges - (ten_num * TEN))
它等于5.4411512312578E-17
为什么不是0?有解决方案吗
Tar*_*rik 11
这是由于浮点运算固有的舍入误差.有关详细信息,请参见http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html.