这是我的代码:
class Division{
public:
void div(){
//This is what to use inside the main
//Division Divide;
//Divide.div();
int x;
int y;
int div;
cout << "Still in Alpha So it only rounds the Number\n";
cout << "Enter Your Number\n";
cin >> x;
cout << "Divided by\n";
cin >> y;
cout << "=";
div = x/y;
cout << div;
答案 0 :(得分:2)
您要划分两个int
&#39; s,因此您将调用整数除法,它会截断所有小数。您可以将int
更改为double
,并保留小数。
例如
1 / 2 // results in 0
1.0 / 2.0 // results in 0.5
答案 1 :(得分:2)
如果您将它们定义为int
,则不能。请尝试使用double
或float
。
double x;
double y;
double div;
更改定义可以解决问题。
答案 2 :(得分:0)
Cyber's回答你做整数除法是正确的。如果你想要x和y是整数(为了保持输入正确),只有div必须是double:
double div;
div = static_cast<double>(x)/y;
输出:1.67
static_cast将确保浮动除法,但您可以获得保持x和y整数的好处。
但是输出时你仍然没有看到默认的两位小数。使用std :: fixed和std :: setprecision(2)来限制输出。
答案 3 :(得分:-1)
将int
定义替换为double
:
double x;
double y;
double div;