Procedimentos para cálculos em AdvPL
Separa entradas, regra de cálculo e arredondamento.
Visão geral
Defina unidade, escala, sinal e momento do arredondamento antes de escrever a fórmula. Multiplicar quantidade por preço e aplicar uma taxa uma vez ao total pode divergir de arredondar cada item antes de somar. A política pertence à regra de negócio; Round não implementa sozinho uma regra fiscal ou contábil. O laboratório mantém dados numéricos em memória, calcula uma base e arredonda a duas casas. Compare os resultados com casos de zero, descontos, estornos e valores no limite; registre a configuração numérica do AppServer na homologação. (Fontes: refs. 1–1.)
Exemplo comentado
#Include "Protheus.ch"
User Function Ed599()
Local nQuantidade := 3
Local nPreco := 12.50
Local nTaxa := 0.10
// Arredondamento somente na etapa definida pela regra deste laboratorio.
Local nTotal := Round(nQuantidade * nPreco * (1 - nTaxa), 2)
ConOut(nTotal)
Return NilResultado numérico esperado: 33,75. A apresentação depende da formatação. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não confunda Round com NoRound; não altere FloatingPointPrecise sem avaliar o ambiente inteiro.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.