> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kiwify.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Filtros matemáticos

> Filtros matemáticos para realizar operações aritméticas em templates Liquid.

## `plus`

Adiciona um número a outro número.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | plus: 2 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    6
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 16 | plus: 4 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    20
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | plus: 12 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    195.357
    ```
  </CodeGroup>
</Columns>

## `minus`

Subtrai um número de outro número.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | minus: 2 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 16 | minus: 4 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    12
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | minus: 12 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    171.357
    ```
  </CodeGroup>
</Columns>

## `times`

Multiplica um número por outro número.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 3 | times: 2 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    6
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 24 | times: 7 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    168
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | times: 12 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2200.284
    ```
  </CodeGroup>
</Columns>

## `divided_by`

Divide um número por outro número. O resultado é a string obtida pelo `.toString()` do JavaScript do número resultante.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 16 | divided_by: 4 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    4
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 5 | divided_by: 3 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1.6666666666666667
    ```
  </CodeGroup>
</Columns>

Em JavaScript, float e integer compartilham o mesmo tipo `number` e não podemos distinguir a diferença. Por exemplo:

```javascript theme={null}
// always true
5.0 === 5
```

Você precisará passar outro argumento `integerArithmetic` para forçar divisão inteira:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 5 | divided_by: 3, true }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1
    ```
  </CodeGroup>
</Columns>

## `modulo`

Retorna o resto de uma operação de divisão.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 3 | modulo: 2 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 24 | modulo: 7 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    3
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | modulo: 12 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    3.3569999999999993
    ```
  </CodeGroup>
</Columns>

## `abs`

Filtro Liquid que retorna o valor absoluto de um número.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ -17 | abs }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    17
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | abs }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    4
    ```
  </CodeGroup>
</Columns>

`abs` também funcionará em uma string que contém apenas um número:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "-19.86" | abs }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    19.86
    ```
  </CodeGroup>
</Columns>

## `at_least`

Limita um número a um valor mínimo.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | at_least: 5 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    5
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | at_least: 3 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    4
    ```
  </CodeGroup>
</Columns>

## `at_most`

Limita um número a um valor máximo.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | at_most: 5 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    4
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 4 | at_most: 3 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    3
    ```
  </CodeGroup>
</Columns>

## `ceil`

Arredonda a entrada para cima para o número inteiro mais próximo. LiquidJS tenta converter a entrada para um número antes do filtro ser aplicado.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 1.2 | ceil }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 2.0 | ceil }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | ceil }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    184
    ```
  </CodeGroup>
</Columns>

Aqui o valor de entrada é uma string:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "3.5" | ceil }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    4
    ```
  </CodeGroup>
</Columns>

## `floor`

Arredonda a entrada para baixo para o número inteiro mais próximo. LiquidJS tenta converter a entrada para um número antes do filtro ser aplicado.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 1.2 | floor }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 2.0 | floor }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    2
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | floor }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    183
    ```
  </CodeGroup>
</Columns>

Aqui o valor de entrada é uma string:

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ "3.5" | floor }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    3
    ```
  </CodeGroup>
</Columns>

## `round`

Arredonda um número para o inteiro mais próximo ou, se um número for passado como argumento, para esse número de casas decimais.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 1.2 | round }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    1
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 2.7 | round }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    3
    ```
  </CodeGroup>
</Columns>

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    {{ 183.357 | round: 2 }}
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    183.36
    ```
  </CodeGroup>
</Columns>

## `sum`

Calcula a soma de todos os números em um array.
Um argumento opcional especifica qual propriedade dos itens do array somar.

Neste exemplo, assuma que o objeto `cart.products` contém um array de todos os produtos no carrinho de um site.
Assuma que cada produto do carrinho tem uma propriedade `qty` que fornece a contagem dessa instância de produto no carrinho.
Usando o filtro `sum` podemos calcular o número total de produtos no carrinho.

<Columns cols={2}>
  <CodeGroup>
    ```liquid Código theme={null}
    The cart has {{ order.products | sum: "qty" }} products.
    ```
  </CodeGroup>

  <CodeGroup>
    ```liquid Saída theme={null}
    The cart has 7 products.
    ```
  </CodeGroup>
</Columns>
