div, mod, mul e add
As quatro operações do Power Automate se comportam como as de uma linguagem de programação, não como as de uma calculadora: dois inteiros dão um inteiro, e decimais carregam resíduos de ponto flutuante. Entender isso evita divergências de centavos.
Sintaxe
div(a, b) mod(a, b) mul(a, b) add(a, b) sub(a, b)
Exemplos testados
| Expressão | Resultado |
|---|---|
div(75, 200)dois inteiros: trunca | 0 |
div(float(75), float(200)) | 0.375 |
div(10, 4) | 2 |
div(float(10), 4) | 2.5 |
div(100000, 3) | 33333 |
mod(100000, 3)o resto | 1 |
mod(10, 3) | 1 |
mod(-5, 2)o sinal segue o dividendo | -1 |
mul(19.99, 100)resíduo de ponto flutuante | 1998.9999999999998 |
add(0.1, 0.2) | 0.30000000000000004 |
mul(0.1, 3) | 0.30000000000000004 |
sub(5, 2) | 3 |
Quando usar
Use div e mod sempre que precisar de uma divisão exata com resto, como em parcelas, lotes e paginação: div(a, b) dá o quociente inteiro e mod(a, b) dá o que sobra. O padrão para dinheiro é converter o valor para centavos inteiros, dividir com div, ficar com o resto em mod e somá-lo a uma das parcelas, para que o total bata exatamente. Use mul e add sobre decimais só quando o resíduo for aceitável, por exemplo em estatísticas; em valores financeiros, prefira sempre inteiros. Antes de dividir, valide que o divisor não é zero, porque a divisão por zero derruba a ação.
Armadilhas
- Divisão de inteiros trunca.
div(75, 200)é 0. Converta um dos lados comfloatquando quiser decimal. - Decimais carregam resíduos:
mul(19.99, 100)não dá 1999, eadd(0.1, 0.2)não dá 0,3. Para dinheiro, use centavos inteiros. - Dividir por zero dá erro. Valide o divisor antes.
- Não existe
pow,round,floornemceil. Opowaparece em algumas referências, mas o Power Automate responde "The template function 'pow' is not defined".
Perguntas frequentes
Como dividir um valor em parcelas sem perder centavos?
Com div para a parcela-base e mod para o resto, em centavos. É exatamente o guia de parcelas, e a calculadora faz o mesmo.
Como calcular quantas páginas uma lista terá?
O número de páginas é o quociente da divisão do total pelo tamanho da página (div), mais uma página quando o resto (mod) for maior que zero.