我目前正在开发适用于Android的应用。在此应用中,我需要将计算得出的数字转换为百分比。原始数字(tipTotal)是正确计算的,但是当我尝试通过除以100(tipPercentage)转换为十进制时,tipPercentage始终为0.0。
我已经确认tipTotal是正确的并且是我期望的。
public void onClick(View view) {
int tipTotal = 0;
float totalBill = 0;
float tipPercentage = 0;
String time, attitude, refills, clearing, accuracy, bill;
time = timeSpinner.getSelectedItem().toString();
attitude = attitudeSpinner.getSelectedItem().toString();
refills = refillsSpinner.getSelectedItem().toString();
clearing = clearingSpinner.getSelectedItem().toString();
accuracy = accuracySpinner.getSelectedItem().toString();
bill = txtBill.getText().toString();
tipTotal = Integer.parseInt(time)+Integer.parseInt(attitude)+Integer.parseInt(refills)+Integer.parseInt(clearing)+Integer.parseInt(accuracy);
tipPercentage = tipTotal / 100;
Context context = getApplicationContext();
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, String.valueOf(tipPercentage), duration);
toast.show();
}
谢谢你的帮助!
最佳答案
尝试这个:
tipPercentage = ((float)tipTotal)/ 100f;
问题可能是
tipTotal / 100
正在执行整数除法...没有小数部分且小于1。这就是整数除法的工作原理,例如:10/6 = 1
。另一方面,10f/6f=1.6666
。