This question already has answers here:
Why does division result in zero instead of a decimal?
(5个答案)
7年前关闭。
我正在尝试做一个简单的计算:((45/100)-(20 + 50)/ 200)*(10 + 5)
我期望答案是1.5,但是当程序被编译时,它显示为0。
有人可以帮我解决这个问题吗
(5个答案)
7年前关闭。
我正在尝试做一个简单的计算:((45/100)-(20 + 50)/ 200)*(10 + 5)
我期望答案是1.5,但是当程序被编译时,它显示为0。
有人可以帮我解决这个问题吗
#include <iostream>
using namespace std;
int main()
{
float CivIndex = ( (45/100) - (20+50)/200 )
*(10+5);
cout<<CivIndex; // expect 1.5 but getting 0
}
最佳答案
整数除法!
如果将(45 / 100)
评估为整数,则等于0,而不是您一直希望的0.45。
使分子或分母为浮点数以获得预期的结果:(45.0 / 100)
关于c++ - 计算返回零而不是预期结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19230144/
10-15 03:04