NoRound

Trunca casas decimais sem arredondar. Int retorna so a parte inteira.

Assinatura: NoRound(nValor, nDec) -> nValor | Int(nValor) -> nValor

Retorna: Numeric

NoRound trunca um numero em N casas decimais — diferente de Round, nunca aumenta o valor. Int retorna so a parte inteira (equivale a NoRound(x, 0)).

Sintaxe

nTrunc := NoRound(nValor, nDecimais)
nInt   := Int(nValor)

Exemplo

Int(3.789)           // 3 (parte inteira)
NoRound(3.789, 2)    // 3.78 (trunca em 2 casas, nao arredonda pra 3.79)
NoRound(3.999, 2)    // 3.99 (nao vai pra 4.00)

// Comparacao Round vs NoRound:
Round(0.005, 2)      // 0.01  (arredonda pra cima)
NoRound(0.005, 2)    // 0.00  (trunca)

Quando usar

Pegadinha

Em portugues, "truncar" e diferente de "arredondar". Round pode aumentar, NoRound nunca aumenta. Em duvida fiscal, sempre prefira NoRound.

Parâmetros

NomeTipoObrigatórioDescrição
nValorNumericsimValor a truncar
nDecNumericsimCasas decimais a manter

Exemplos

Rateio fiscal

nIcms := NoRound(nBase * 0.18, 2)  // trunca, nao arredonda pra cima

Veja também