我想计算用户选择的车位的价格。每小时槽的价格保存在 firebase 数据库中,用户可以通过优雅的按钮编号选择持续时间(小时)。我已经为插槽创建了一个模型类来检索所选插槽的价格,如下所示:
public class Slots {
private String Price;
// empty constructor...
//getter and setter methods...
在主要 Activity 中,我有以下代码:
Selectbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int fair=0;
fair+=(Integer.parseInt(currentSlot.getPrice()))*(Integer.parseInt(duration.getNumber()));
totalprice.setText(fair);
}
});
currentSlot是Slot模型类的对象,duration是优雅的数字按钮。我已将它们转换为整数,然后将每小时的价格乘以持续时间(小时数)。当我单击按钮时,它说我的应用程序已停止工作。请帮我解答
最佳答案
看到您的代码后,问题是您在将字符串转换为整数时遇到 NumberFormatException
,您的字符串带有非数字字符
我建议先将字符串中的所有非数字字符
替换为int
String price= "10SR/hr";
String priceInDigits= price.replaceAll("[^\\d.]", "");
在代码中添加 Try/Catch
并使用调试读取异常。!
Selectbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
int fair = 0;
fair += (Integer.parseInt(currentSlot.getPrice())) * (Integer.parseInt(duration.getNumber()));
totalprice.setText(fair);
} catch (Exception ex) {
ex.getMessage();
Toast.makeText(this, "Exception : " + ex.getMessage(), Toast.LENGTH_SHORT).show();
ex.getStackTrace();
}
}
});
关于java - 如何计算价格通过从firebase数据库检索一个值并通过elegantNumberButton检索其他值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49762599/