I am trying to change the decimal point in some numbers, to be used in Integromat, using ceil or floor options. I tried using the decimal option in GS, but it didn’t work.
Apparently, I need to extract the numerical value, by using split + get functions, then use the math functions floor or ceil. I wondered if someone can help.
I managed to create an expression, with some help, apparently I have to use “String” after ”Split” were “1.value” is, but I was a bit stumped, do I place a value there or use a tag? If it’s a value and I want to change the decimal position from 24.01 to 24, how would I write it? If it’s a tag, we’re would I find it? Also, were do I place the “Temperature: Day” tag?
Based on your screenshots, I can only see that you’re using Google Sheets and GMail. It looks like the portion of your scenario in question relates to Google Sheets, and not Airtable. This forum is for neither Google Sheets nor Integromat so I’m not sure how much guidance any of us here can give you. I for one am not experienced enough in Integromat’s formulas to provide an answer, sorry.
It looks like you’re rounding down in all of your examples, which would use the floor function, as shown in the examples in your first screenshot. The formula in your second screenshot is more complex than you need it. Just put the value from step 3 (i.e. 3. Temperature Day) inside floor(), and it should do the trick.
Your screenshot shows the formula, but obviously I can’t see the before and after values of the data. To confirm that a desired change is really being made, what I’ll sometimes do is make the output a longer string that shows both before and after values, separated by some obvious divider like a vertical bar. If you do that, take a screenshot of that combined output so we can see what (if anything) is happening.
I tried to do the changes that you suggested. I am not sure if it worked, since it did not move the decimal point.
Here are screenshots: #1 Google Sheets, #2 Google Sheet module, from Integromat, #3 how the results look in my Google email, the day and night temperatures (which are what I am working on) are right after the time.
It worked. All that floor does is drop the value to the nearest whole number. It does not control whether or not the value is displayed with or without a decimal point. The decimal point is driven by that cell’s formatting, not the value put into the cell. As long as the number after the decimal is 0, then floor did its job, and you can change the formatting to get rid of the decimal display.
All that you’re getting from the source is a value. Values have no built-in formatting until they’re displayed. For example, if I take the integer value 21 and put it into a field or cell where the formatting is set to show it as currency, it displays as $21.00. Under the hood, though, it’s still an integer. The only reason the dollar sign, the decimal point, and the trailing zeroes are there is because of how that field/cell is formatted.
Back to your situation, all that floor() does is force a non-whole value to become a whole value, so that (to use your earliest example) 24.01 becomes 24, 22.17 becomes 22, etc. Again, it only changes the value. It has no control over how that value is displayed. So if your scenario takes 24.01, drops it to 24 using floor(), and then puts that into a field or cell that’s formatted to show one place past the decimal point, it will appear as 24.0. Under the hood of the cell/field, it’s still 24. It’s only displaying with the decimal point because the cell/field formatting is forcing it to do so. So to get rid of the trailing “.0” in the display, you have to change the cell formatting. And because you’re building a larger list of such values, that formatting will need to be applied to an entire column, not just a single cell.
I was looking at the weather data in GS worksheet and I did a test, with and without floor expression and I noticed there is quite a discrepancy with the data. I am realizing that I need a more accurate set of data, so for now, I think that I will try the scenario without floor expression.
In terms of formatting GS worksheet, by changing the the placement of the decimal, in each column, I made the changes that I want. The only thing I am noticing, is since I have added Gmail module to my scenario and when I check the email, the data does not show the same decimal format as in GS worksheet. I am guessing that’s because the body of the email in not in rich text format.
The only solution that I could think of, if it works, is to somehow get a link of the GS worksheet in the body of the email. Then I would just click on that to open the worksheet and therefore, see all the correctly formatted data that I initially made.
Unless, there is another way that I don’t know about.
The email body being rich text or not wouldn’t have any impact on the formatting of the data you’re pulling from GS. Just like when moving the data into GS from your initial data source, the data you’re pulling from GS to build the email is still just data, not data set to display with a certain format. Even though you formatted the GS cells to not show a decimal (i.e. displaying it as though it’s an integer), it’s possible (based on what I’ve seen so far) that GS still stores it as a decimal value. If so, that’s what will be passed to Integromat as you build the email. That means you’ll need to format it again as you add it to the email, and again, floor should do the trick.