# Rediculous problem?! Assigning a fraction to a double variable

Printable View

• 11-24-2008, 05:16 AM
Tzoshirzup
Rediculous problem?! Assigning a fraction to a double variable
Tzo here,

I'm having trouble with a rediculous problem; an extrodinarily simple assignment and or creation statement.

Basically i can't get my type double variable to equal a simple fraction like 1/6,
however rediculous that may sound even worse so is the fact that there's a working double using more complex variables just above it in the code.

I've tried just about every work round i could think of to make this go but i'm still getting the same stupid results.

Code:

```double temp = 0; for (int i = 0; i < intDrawn; i++) {     temp += 1/(Double.valueOf(Integer.toString(intBalls))-i); }//end for loop dblWin = 1-temp/intDrawn; System.out.println(temp); double temp2 = 1/6;                //1/dblWin; System.out.println("temp2 " + temp2); dblLose = Math.pow(temp2, (1/6));```
This outputs:

0.15246253168108626
temp2 0.0

As u can see in the for loop i had already had some trouble with the double variable befor however i found a work around that worked.

Any insight into the problem and or solution would be appreciated.
• 11-24-2008, 05:31 AM
emceenugget
i think that 1 and 6 are by default integers. stick in '.0' to fix that. i honestly don't know the "correct" way to do this, but if there is a proper method to do this, i'm sure someone will say.
• 11-24-2008, 05:32 AM
Fubarable
You're running into the int division wall. Please note that an int/int equals an int and that this is rounded down, just as if you were casting. So 1/6 is 0. To get around this cast one of these numbers as a double:
Code:

`double temp2 = (double)1/6;`
• 11-24-2008, 08:01 PM
Tzoshirzup
Thanks for the help i'll give these a shot although i did try some form of casting the numbers to double.

The int division wall you mentioned makes alot of sence in that context now actually after i think about it :)