How to extract numbers from list viewer and add them up

I am making a canteen menu app, and on the receipt page, it will display the list of items the person has bought. Each item on the list will have its name and price:

Is it possible to extract the numbers from each item on the list and add them up and then display that number in a label to show the total cost of what the person is buying?

Thank you.

1 Like

Yes, it’s possible. If you already have the prices in a list, you can use the Sum block:

Screen Shot 2020-11-04 at 8.46.05 AM

Just make sure your list items are numbers. If they are text strings, you need to first add 0 to each item to convert it to a number. That would be best achieved in a loop that "get"s each list item value and adds zero to it:

Screen Shot 2020-11-04 at 8.51.51 AM

Or, if you prefer, you can just loop through the “price list” and add j to a “sum” variable:

Screen Shot 2020-11-04 at 8.56.30 AM

In that loop, the strings get converted to numbers because they are added to the sum which is a number (0).

2 Likes

Hi,

the numbers will not always be 10, 6 and 11 because the items and price of each item will change each day.

thank you

Of course! :slight_smile: I assumed you’d create a list from your data source values. I just needed some sample values to test.

Hi, I used your code but it is the number is always 27, which is the sum of 10, 6 and 11.

Here is the code:
image

1 Like

Yes, because you need to make a list from your data source values rather than using my example which uses static list values that never change.

How are you storing the data for the data list viewer?

Hi!
Try using this block that you can get from the ‘list’ drawer. Replace all the numbers with the values from your data sources, and add as many as needed. Then you can set the text in a label:
Screen Shot 2020-11-05 at 10.33.11 AM
Screen Shot 2020-11-05 at 10.35.42 AM
Hope this helps.
Happy Thunking!

The data for the list viewer is entered on another page where the teachers can edit the menu:

code:

Hi

I tried this but it just displayed the label as “3”, because it added 1 and 2. If you see my latest response it may give you some more background on my app. :slight_smile:

You should replace the values inside the sum block with your own values.

Just reading that message

You need to initialize a variable that is an empty list and will hold your prices. When you program, you need to put data in variables, not just in the place where you will display them.

These videos might be helpful for you to better understand how that works: