gpt4 book ai didi

java - Firebase 数据库检索多个 child 的总和

转载 作者:行者123 更新时间:2023-11-30 10:12:56 25 4
gpt4 key购买 nike

我想在Firebase实时数据库中做多个子节点的求和

enter image description here

这是我的数据库,我想在其中对"amount" 子项求和,那么该怎么做呢?

请帮忙!

最佳答案

正如我在您的数据库中看到的,您的 amount 属性是字符串类型而不是数字。所以你不能简单地创建一个字符串文字的总和。要解决此问题,您需要将属性名称更改为 number 类型。我还看到您将货币与数字一起存储。您应该以编程方式在用户端添加货币,而不是在数据库中。如果您考虑更改您的amount 属性的类型,那么请查看我在这个 post 中的回答。

但是,如果您想保留实际的数据库结构,可以使用以下技巧对所有金额求和:

ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int total = 0;
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String amount = ds.child("amount").getValue(String.class);
int value = Integer.valueOf(amount.replace(" Rs.", ""));
total =+ value;
}
Log.d("TAG", String.valueOf(total) + " Rs.");
}

@Override
public void onCancelled(DatabaseError databaseError) {}
};
your_database_reference.addListenerForSingleValueEvent(eventListener);

logcat 中的输出将是:

27000

关于java - Firebase 数据库检索多个 child 的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com