Pular para o conteúdo principal

Subtract

Descrição

A função Subtract subtrai o segundo parâmetro do primeiro e retorna a diferença entre os dois valores. É útil para cálculos como descontos em preços, diferença de pontos em programas de fidelidade, cálculo de saldo restante e qualquer operação de subtração dentro dos seus e-mails, CloudPages ou automações no SFMC. Os parâmetros podem ser números inteiros ou decimais, positivos ou negativos.

Sintaxe

Subtract(minuend, subtrahend)

Parâmetros

ParâmetroTipoObrigatórioDescrição
minuendNúmeroSimO número inicial, de onde será subtraído o valor.
subtrahendNúmeroSimO número a ser subtraído do primeiro parâmetro.

Exemplo básico

Calculando o valor de um produto da MegaStore após aplicar um desconto fixo:

%%[
VAR @precoOriginal, @desconto, @precoFinal

SET @precoOriginal = 299.90
SET @desconto = 50
SET @precoFinal = Subtract(@precoOriginal, @desconto)
]%%

Preço original: R$ %%=FormatNumber(@precoOriginal, "N2")=%%
Desconto: R$ %%=FormatNumber(@desconto, "N2")=%%
Você paga: R$ %%=FormatNumber(@precoFinal, "N2")=%%

Saída:

Preço original: R$ 299,90
Desconto: R$ 50,00
Você paga: R$ 249,90

Exemplo avançado

E-mail de régua de relacionamento do programa de fidelidade da Lojas Vitória, mostrando ao cliente quantos pontos faltam para resgatar um prêmio e o saldo após uma compra recente:

%%[
VAR @nome, @pontosAtuais, @pontosUsados, @saldoPontos, @metaResgate, @pontosFaltando

SET @nome = "Maria Santos"
SET @pontosAtuais = 4800
SET @pontosUsados = 1200
SET @metaResgate = 5000

SET @saldoPontos = Subtract(@pontosAtuais, @pontosUsados)
SET @pontosFaltando = Subtract(@metaResgate, @saldoPontos)
]%%

Olá, %%=V(@nome)=%%!

Seu saldo atual: %%=FormatNumber(@pontosAtuais, "N0")=%% pontos
Pontos usados na última troca: %%=FormatNumber(@pontosUsados, "N0")=%% pontos
Saldo restante: %%=FormatNumber(@saldoPontos, "N0")=%% pontos

%%[ IF @pontosFaltando > 0 THEN ]%%
Faltam apenas %%=FormatNumber(@pontosFaltando, "N0")=%% pontos para você resgatar seu próximo prêmio!
%%[ ELSE ]%%
Parabéns! Você já pode resgatar seu prêmio!
%%[ ENDIF ]%%

Saída:

Olá, Maria Santos!

Seu saldo atual: 4.800 pontos
Pontos usados na última troca: 1.200 pontos
Saldo restante: 3.600 pontos

Faltam apenas 1.400 pontos para você resgatar seu próximo prêmio!

Observações

  • A função aceita números inteiros e decimais, tanto positivos quanto negativos. Se o subtrahend for maior que o minuend, o resultado será negativo - o que é útil para identificar saldo devedor ou déficit de pontos, por exemplo.

  • Subtrair um número negativo equivale a uma soma. Por exemplo, Subtract(100, -50) retorna 150.

💡 Dica: Para cálculos de preço com centavos (muito comum com Real), use a função FormatNumber ou FormatCurrency para exibir o resultado com duas casas decimais e formatação brasileira.

Funções relacionadas

  • Add - soma dois números (operação inversa)
  • Multiply - multiplica dois números
  • Divide - divide dois números
  • Mod - retorna o resto da divisão
  • FormatNumber - formata o resultado numérico para exibição
  • FormatCurrency - formata valores monetários