Java中的除法总是导致零(0)吗?
下面的函数从sharedpreferences中获取两个值,体重和身高,我用它们来计算BMI,当我打印这些值的内容时,我得到了我在sharedprefs中输入的值(很好),但是当我运行时对它们进行除法运算后,结果总是为0。错误在哪里?
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;
}
回答:
你正在执行整数除法。
你需要将一个操作数强制转换为double
。
以上是 Java中的除法总是导致零(0)吗? 的全部内容, 来源链接: utcz.com/qa/405484.html