# Dividing two integers resulting in a decimal.

Discussion in 'C++' started by SamJacob, Sep 12, 2010.

1. ### SamJacobNew Member

Joined:
Sep 12, 2010
Messages:
1
0
Trophy Points:
0
Code:
`result = number1 / number2;`
I am new to C++, but I have some knowledge in Java.
What my program does is, the program asks the user two numbers. The user could only select, one, two, or zero. Then the user would select an arithmetic operator: plus, minus, times, divide. I figured everything out except the division part.
When the user select one divide by two, the answer should come out as 0.5, but it comes out as 0. All three variables are int values, so I would need to convert them into a float or a double. But how would I cast them? I've tried doing this, float(number1), and many more similar to that, but it wouldn't work.

Thanks,
Sam

2. ### go4expertModerator

Joined:
Aug 3, 2004
Messages:
306
9
Trophy Points:
0
Use
Code:
`result = ((double))((double)number1 / (double)number2);`

3. ### techgeek.inNew Member

Joined:
Dec 20, 2009
Messages:
572
19
Trophy Points:
0
Occupation:
EOC (exploitation of computers)..i m a Terminator.
Location:
Not an alien!! for sure
Itz a wrong procedure...Dnt have to use so many casting...only one casting will do...like the below:-
Code:
```((double)number1/number2)
```
Now, let me tell the reason...the implicit casting follows the cascading rule from int to float.. i.e. if one number is float and other is int then the int part is converted to float first and then the result is evaluated...so many casting are not needed...I just need to convert any of the number to double thatz all...On the other hand if you are storing the result to "result" variable then the variable should be double....
Thank you!!

4. ### go4expertModerator

Joined:
Aug 3, 2004
Messages:
306
9
Trophy Points:
0
I agree that my method does extra casting but I don't thing it is wrong. Your syntax also does the same thing without actually specifying it i.e. converts each number into the double.

5. ### techgeek.inNew Member

Joined:
Dec 20, 2009
Messages:
572
19
Trophy Points:
0
Occupation:
EOC (exploitation of computers)..i m a Terminator.
Location:
Not an alien!! for sure
I didn't say itz wrong..i said itz a wrong procedure...If you keep on increasing the code complexity like this then I dnt think that itz should be said as a good procedure...if you give such solutions to a newbie then the person would get confused...u should have given him the explanations why u did like that...u placed double wherever u found the space for it.....

Joined:
Aug 3, 2004
Messages:
306