Division in Java always results in zero (0)?

android, division, java

Solution

You're doing integer division.

You need to cast one operand to `double`.

Problem

The function below gets two values from sharedpreferences, weight and height, and I use these to calculate the BMI, When I print the content of the values I get the values i have entered in the sharedprefs ( which is good) but then when i run a division operation on them, I always get 0 as a result.. Where is the error? ``` public int computeBMI(){ SharedPreferences customSharedPreference = getSharedPreferences( "myCustomSharedPrefs", Activity.MODE_PRIVATE); String Height = customSharedPreference.getString("heightpref", ""); String Weight = customSharedPreference.getString("weightpref", ""); int weight = Integer.parseInt(Weight); int height = Integer.parseInt(Height); Toast.makeText(CalculationsActivity.this, Height+" "+ Weight , Toast.LENGTH_LONG).show(); int bmi = weight/(height*height); return bmi; } ```

Original source

Related problems