Passo a passo: | A API de interpretação de fórmulas permite a utilização de fórmulas complexas, selecionando a expressão matemática associada a uma regra com valor verdadeiro, realizando então o processamento dessa expressão e retornando o seu valor correspondente. Para a definição de uma fórmula, utiliza-se a seguinte sintaxe: [Regra 1] Expressão 1 [Regra 2] Expressão 2 [Regra 3] Expressão 3 ... As regras sempre estarão entre colchetes. Sempre deverá haver uma expressão matemática associada a uma regra. Quando uma regra verdadeira for encontrada, a expressão associada a essa regra é processada e o seu valor é retornado. Caso existam mais de uma regra com resultado verdadeiro, será sempre retornado o valor correspondente à primeira expressão associada a uma regra verdadeira, sendo as demais descartadas. Não é obrigatória a utilização de regras, caso a fórmula possua apenas um resultado. Neste caso, basta utilizar a própria expressão matemática na fórmula, sem nenhuma regra entre colchetes. Exemplos de fórmulas: [Cor = “Azul” e Tamanho > (Limite * 3)] Limite * 3 [Cor = “Verde” ou Modelo = 1] Modelo * 9 int(substring(var1 1 2)) * 10 Para a inserção das regras e das fórmulas, o interpretador de fórmulas permite os seguintes recursos: - Múltiplos níveis de parênteses
- Utilização das 4 operações aritméticas básicas (+, -, *, /)
- Utilização de prioridade entre as operações (multiplicação e divisão são executadas antes de soma e subtração)
- Utilização de potenciação (^)
- Utilização de divisão inteira (\)
- Utilização de resto de divisão (MOD)
- Utilização dos operadores lógicos E (AND), OU (OR) e NÃO (NOT)
- Utilização dos operadores relacionais =, <>, >=, <=, > e <
Além disso, as seguintes funções também podem ser utilizadas, tanto nas regras quanto nas expressões: - INT (Parâmetro) – Converte um número decimal ou uma sequência de caracteres em um número inteiro.
- DEC (Parâmetro) – Converte uma sequência de caracteres em um número decimal.
- STR (Parâmetro) – Converte um número inteiro ou decimal em uma sequência de caracteres.
- ABS (Parâmetro) – Retorna o valor absoluto de um número, sem sinal.
- SQR (Parâmetro) – Retorna a raiz quadrada do número passado como parâmetro.
- UCASE (Parâmetro) – Retorna uma sequência de caracteres com todo o seu conteúdo convertido para letras maiúsculas.
- LCASE (Parâmetro) – Retorna uma sequência de caracteres com todo o seu conteúdo convertido para letras minúsculas.
- LEN (Parâmetro) – Retorna o número de caracteres de uma sequência.
- SUBSTRING (Sequência Pos_Inicial Tamanho) – Retorna uma parte da sequência de caracteres, começando por Pos_Inicial, com o Tamanho determinado.
- SEARCH (Sequência Busca Pos_Inicial) – Retorna um número indicando a posição onde a sequência de caracteres Busca é encontrada na sequência original, iniciando por Pos_Inicial. A busca sempre é realizada a partir da esquerda.
- REPLACE (Sequência Seq_Origem Nova_Seq) – Retorna a sequência de caracteres original, com todas as ocorrências de Seq_Origem substituídas por Nova_Seq.
- ROUND (Parâmetro Casas_Decimais) – Retorna o número passado como parâmetro, arredondado com o número de casas decimais informado.
- TRUNC (Parâmetro Casas_Decimais) – Retorna o número passado como parâmetro, truncado com o número de casas decimais informado.
- FAT (Parâmetro) – Retorna o fatorial de um número.
- PI – Retorna o valor padrão de PI (3,14159...).
- ANG (Parâmetro) – Converte um ângulo passado em radianos para graus.
- RAD (Parâmetro) – Converte um ângulo passado em graus para radianos.
- SIN (Parâmetro) – Retorna o seno natural de um ângulo, passado em radianos.
- COS (Parâmetro) – Retorna o cosseno natural de um ângulo, passado em radianos.
- TAN (Parâmetro) – Retorna a tangente natural de um ângulo, passado em radianos.
- SEC (Parâmetro) – Retorna a secante natural de um ângulo, passado em radianos.
- COSSEC (Parâmetro) – Retorna a cossecante natural de um ângulo, passado em radianos
- COTAN (Parâmetro) – Retorna a cotangente natural de um ângulo, passado em radianos.
|
Observações: | No caso das funções SUBSTRING, SEARCH, REPLACE, ROUND e TRUNC, os parâmetros devem ser separados por espaços e não por vírgulas ou ponto e vírgulas. Caso algum parâmetro seja composto, ou seja, possuir uma operação que deva ser executada antes da passagem do parâmetro para a função, ele deve ser colocado entre parênteses. Ex.: SUBSTRING(Cor (Posição + 5) Tamanho). |