Int

Retorna a parte inteira de um numero — descarta decimais (truncamento, nao arredondamento). Para arredondar use Round/NoRound.

Assinatura: Int(nNumero) -> nInteiro

Retorna: Numeric

Int retorna a parte inteira de um numero. Truncamento puro — descarta os decimais sem arredondar. Diferente de Round().

Sintaxe

Int(nNumero) --> nInteiro

Diferenca Int vs Round vs NoRound

Funcao9.49.59.6
Int(n)999
Round(n, 0)91010
NoRound(n, 0)999

Exemplos

Int(9.4)             // 9
Int(9.9)             // 9
Int(9.0)             // 9
Int(-2.7)            // -2  (trunca pra zero)
Int(0)               // 0

Casos praticos

1. Extrair parte inteira do valor

nValor   := 1234.56
nInt     := Int(nValor)         // 1234
nDecimal := nValor - nInt       // 0.56

2. Calcular quantas pacotes inteiros cabem

nProdutos    := 17
nProdsCaixa  := 6
nCaixasFull  := Int(nProdutos / nProdsCaixa)    // 2 caixas
nResto       := nProdutos - (nCaixasFull * nProdsCaixa)   // 5 produtos sobrando

3. Divisao inteira (modulo)

// "Modulo" em AdvPL — resto da divisao
Static Function _Mod(n, m)
    // n mod m
Return n - (Int(n / m) * m)

_Mod(17, 5)     // 2 (17 = 3*5 + 2)
_Mod(10, 3)     // 1

4. Ano de uma quantidade de meses

nMeses := 30
nAnos  := Int(nMeses / 12)        // 2 anos
nResto := nMeses - (nAnos * 12)   // 6 meses

Pegadinhas

Parâmetros

NomeTipoObrigatórioDescrição
nNumeroNumericsimValor numerico.

Veja também