如果我使用整数变量,如何在C ++中获取小数

时间:2014-12-03 13:53:13

标签: c++

这是我的代码:

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;

4 个答案:

答案 0 :(得分:2)

您要划分两个int&#39; s,因此您将调用整数除法,它会截断所有小数。您可以将int更改为double,并保留小数。

例如

1 / 2      // results in 0

1.0 / 2.0  // results in 0.5

答案 1 :(得分:2)

如果您将它们定义为int,则不能。请尝试使用doublefloat

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;