java - 如何计算价格通过从firebase数据库检索一个值并通过elegantNumberButton检索其他值

标签 java android firebase firebase-realtime-database

我想计算用户选择的车位的价格。每小时槽的价格保存在 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是优雅的数字按钮。我已将它们转换为整数,然后将每小时的价格乘以持续时间(小时数)。当我单击按钮时,它说我的应用程序已停止工作。请帮我解答 Json node

最佳答案

看到您的代码后,问题是您在将字符串转换为整数时遇到 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/

相关文章:

java - 递归方法检查一行整数是否为降序 : return true/false

android - 当我在打开的简历中传递newSize参数时,resize()失败

java - 用户单击 AlertDialog OK 按钮后如何导航到下一个 Activity ?

firebase - 查询 Firestore 对象数组

java - 将 JCheckBox 添加到 JTable 中

Java Concurrency volatile 读同步写

javascript - Firebase 云消息传递 - 调用 firebase.messaging() 时出错

node.js - 为什么 Cloud Functions 日志消息为空?

java - 如何将(UTC 中的字符串)日期转换为毫秒而不影响其在 Java 中的时区

java - Firebase 身份验证 : getCurrentUser from different Activities?