O objeto system.number fornece um conjunto abrangente de ferramentas para validação, formatação e geração de dados numéricos. Esta biblioteca é essencial para garantir a integridade de tipos de dados e manipular representações numéricas de forma eficiente.
Resumo dos Métodos
| Método | Retorno | Descrição |
|---|---|---|
system.number.isNumber( valor ) |
Boolean | Verifica se a entrada é um tipo numérico. |
system.number.isInt( valor, direcao, incluirZero ) |
Boolean | Valida se o valor é um número inteiro. |
system.number.isFloat( valor, direcao ) |
Boolean | Verifica se o valor é um número de ponto flutuante. |
system.number.format( valor, decimais, milhar ) |
Number | String | Formata a exibição numérica com casas decimais e separadores. |
system.number.rndInt( min, max ) |
Number | Gera um número inteiro aleatório dentro de um intrevalo. |
system.number.rndInts( min, max, qtd ) |
Array | Gera uma lista de inteiros aleatórios. |
system.number.rndNumber( min, max, decimais ) |
Number | Gera um número (inteiro ou real) aleatório. |
system.number.rndNumbers( min, max, qtd, decimais ) |
Array | Gera uma lista de números aleatórios (inteiros ou reais). |
system.number.range( alvo, min, max ) |
Boolean | Verifica se um número está dentro de um limite. |
system.number.rangeInt( alvo, min, max ) |
Booolean | Verifica se o valor é um inteiro dentro de um limite. |
Detalhamento dos Métodos
system.number.isNumber
Determina se o dado fornecido é estritamente numérico.
// Protótipo
system.number.isNumber( alvo )
// Nota: Representações com vírgula como separador de milhar retornam False.
system.number.isInt
Verifica a integridade de números inteiros, permitindo filtros de sinal.
// Parâmetros:
// alvo [Obrigatório]: O valor a ser testado.
// direcao [Opcional]: 1 para positivos, -1 para negativos.
// incluirZero [Opcional]: Define se o 0 deve ser validado como True.
// Exemplos:
system.number.isInt( 500 ) // Retorna True
system.number.isInt( -500 ) // Retorna True
system.number.isInt( 500, 1, 0 ) // Retorna True (positivo ou zero)
system.number.isInt( 0, 1 ) // Retorna False (apenas positivos estritos)
system.number.isFloat
Valida se o valor é um número decimal (ponto flutuante).
// Parâmetros:
// alvo [Obrigatório]: Valor a ser testado.
// direcao [Opcional]: 1 para decimais positivos, -1 para negativos.
// Exemplos:
system.number.isFloat( 10.5 ) // Retorna True
system.number.isFloat( -10.5, -1 ) // Retorna True
system.number.isFloat( 100, 1 ) // Retorna False (é inteiro)
system.number.format
Aplica regras de arredondamento e formatação visual em números.
// Parâmetros:
// alvo [Obrigatório]: O número original.
// decimais [Opcional]: Quantidade de casas decimais (padrão: 2).
// milhar [Opcional]: Boolean para aplicar separador de milhar (padrão: False).
// Exemplos:
system.number.format(50000.456) // Resultado: 50000.46
system.number.format(50000.456, 2, true) // Resultado: 50,000.46
system.number.format("texto") // Resultado: "texto" (retorna o original se não for número)
system.number.rndInt & system.number.rndInts
Funções para geração de enteiros pseudo-aleatórios únicos ou em lote.
// Único valor
system.number.rndInt( 1, 10 ) // Ex: 7
// Conjunto de valores
system.number.rndInts( 1, 100, 3 ) // Ex: [12, 88, 45]
system.number.rndNumber & system.number.rndNumbers
Geração de valores que podem conter casas decimais especificadas.
// Parâmetro 'decimais' define a precisão do retorno.
system.number.rndNumber( 0, 5, 3 ) // Ex: 3.142
system.number.rndNumbers( 0, 1, 2, 2 ) // Ex: [0.25, 0.77]
system.number.range & system.number.rangeInt
Valida se um valor está contido entre dois limites definidos.
// Se min ou max não forem numéricos, aquele limite específico é ignorado.
system.number.range( 15, 10, 20 ) // Retorna True
system.number.rangeInt( 15.5, 10, 20 ) // Retorna False (não é inteiro)