1

Possible Duplicate:
Java Integer division: How do you produce a double?

When I'm dividing 2 numbers to try and get something like .90, I keep getting either 1.0 or 0.0

int number1 = 6517253;
int number2 = 7195629;
double number3 = number1 / number2; //returns 0.0 supposed to be 0.9057239 and I want 0.90
double number4 = number2 / number1; //returns 1.0 supposed to be 1.1040893 and don't really want that one

does the same thing if I change double to float.

Community
  • 1
  • 1
MyOwnHarem
  • 13
  • 6

3 Answers3

7

You should convert one of the operands to double. Try:

double number3 = (double) number1 / number2;
double number4 = (double) number2 / number1;

This is because Java infers the type of int / int as int, but, the type of double / int is inferred as double.

reprogrammer
  • 14,298
  • 16
  • 57
  • 93
0

convert one of the numbers to double:

     double number3 = number1 / (double) number 2
Dan Dinu
  • 32,492
  • 24
  • 78
  • 114
0

Every operation on literals or integer variables in java returns a integer type(uint32) so you need to typecast your operation

double number3 = (double)number1/number2;
Fyre
  • 1,180
  • 8
  • 12