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

java-Firebase数据库检索多个子项的总和,第1张

概述我想对Firebase实时数据库中的多个子节点求和这是我的数据库,在这个数据库中我想做“金额”子项的总和,那么该怎么做?请帮忙!解决方法:正如我在您的数据库中看到的那样,您的amount属性的类型为String而不是number.因此,您不能简单地创建String文字的总和.为了解决这个问题,您需要

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

这是我的数据库,在这个数据库中我想做“金额”子项的总和,那么该怎么做?

请帮忙!

解决方法:

正如我在您的数据库中看到的那样,您的amount属性的类型为String而不是number.因此,您不能简单地创建String文字的总和.为了解决这个问题,您需要将属性名称更改为数字类型.我还看到您正在将货币和数字一起存储.您应该以编程方式在用户端而不是在数据库中添加货币.如果您考虑更改您的金额属性的类型,那么请从此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数据库检索多个子项的总和全部内容,希望文章能够帮你解决java-Firebase数据库检索多个子项的总和所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1094259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存