I have to admit that the div function and all the other analogous functions (sub, add, and mul) is quite strange. This function will divide two numbers. Having functions to do basic arithmetic is not common in programming languages or platforms. Usually, we can do things like “number/number,” but not in Power Automate. This is a source of many “head-scratching moments” since the function looks correct with a slash sign, but Power Automate will return an error.
Update:
2022-09-05: Thanks to Patrick for finding an error in the article.
Note: The concepts will be similar to all four functions so expect that the reference will be quite similar.
Usage
It follows a simple pattern.
- Number
- Number
The function will return the first divided by the second number.
Example:
div(4,2)
will return
2
It will always return a number.
Limitations
There’s a hard limitation on the size of the numbers you can pass, in this case, 19. Power Automate will return an error for:
div(12345678901234567891,1)
But it won’t return an error for:
div(1234567890123456789,1)
However, not returning an error doesn’t mean that the calculation is correct. We would expect the same number in the first case, but instead, we get “1234567890123456800”. Notice that after the 18th number, all is truncated to zero. This may be a source of errors since no error is returned, but instead, you get an invalid calculation. Be very careful with the size of your number since it won’t return an error, but the result is incorrect.
Recommendations:
- Keep the numbers as small as possible and all in variables. Don’t put the numbers directly in the function, at least the first one. It’s quite useful to have the second hardcoded when performing some pre-defined actions like incrementing a variable.
- Be sure that the divisor (the second number) is not zero; otherwise, you’ll split the atom (bad joke, sorry).
- Don’t nest it. You may nest operations, but it will make debugging a lot harder. Do the calculations in individual steps to see the results in each one and see if you get the desired value.
- Please note that formulas may have localization-based differences. For example, you should write “div” with “separating each of the arguments, but if your regional settings are set to Portugal, you should use “;” instead.
Sources:
Microsoft’s div Function Reference
Back to the Power Automate Function Reference.
You said “The function will return the first plus the second number.” but you meant to say “divide”, not “plus”.
You’re 100% correct. Sorry about that. I fixed the article and added a small mention to you if you don’t mind.