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
| Funcao | 9.4 | 9.5 | 9.6 |
|---|---|---|---|
Int(n) | 9 | 9 | 9 |
Round(n, 0) | 9 | 10 | 10 |
NoRound(n, 0) | 9 | 9 | 9 |
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
- Truncamento, nao arredondamento — Int(9.99) = 9. Pra arredondar para mais perto, use Round.
- Negativos truncam em direcao a zero — Int(-2.7) = -2, nao -3. Em alguns contextos matematicos, "floor" seria -3.
- Diferenca conceitual: Int = truncar, Round = arredondar matematicamente, NoRound = "Truncar com precisao".
- Para floats grandes, precisao de Int e do tipo Numeric do AdvPL — em valores enormes (10^15+) pode perder precisao.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
nNumero | Numeric | sim | Valor numerico. |