2014-12-03 66 views
-7

這裏是我的代碼:我如何用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; 

回答

2

你不能,如果你將它們定義爲int。改爲使用doublefloat

double x; 
double y; 
double div; 

更改定義可解決問題。

+0

爲什麼downvote? – 2014-12-03 13:55:49

+0

我也在想他 – 2014-12-03 13:58:04

2

您將2 int的,所以你會調用整數除法,這截斷所有小數。您可以將您的int更改爲double,您將保留小數。

例如

1/2  // results in 0 

1.0/2.0 // results in 0.5 
0

Cyber's答案是正確的,你在做整數除法。如果你想要x和y是整數(保持輸入理智),只有div有雙待:

double div; 
div = static_cast<double>(x)/y; 

輸出:1.67

的的static_cast 確保浮動師,但你保持x和y的好處。

但是在輸出時,您仍然不會在默認情況下看到兩個小數位。使用std :: fixed和std :: setprecision(2)來限制輸出。

+0

他沒有要求2位小數。 – 2014-12-03 13:56:34

+0

@Eduardo我的回答仍然正確,我只是在提出建議。 – user4320030 2014-12-03 14:00:37

+0

我只是指出。你的建議是可以接受的。 – 2014-12-03 14:01:16

-1

double更換int定義:

double x; double y; double div;

相關問題