Possible Duplicate:
Division in C++ not working as expected




原来我的程序一直返回错误的结果,所以我决定将代码分成几部分。设置断点后,结果...

double test3 = ((2 - 1) / 2);


...根据C ++编译器等于0。我不知道为什么。有人可以向我解释吗?

我正在使用MS Visual Studio Premium 2012

最佳答案

因为您正在执行整数除法。 1/20,然后将其转换为double,产生0.。如果要进行浮点除法,请尝试使除法参数之一成为浮点数:

double test3 = (2.0-1)/2;

关于c++ - 为什么我在这里得到0而不是0.5? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13332351/

10-16 04:34