A partir do dia 28/08 após às 20hs, o acesso ao TDN nas páginas logadas será integrado ao Identity Fluig, seguindo o mesmo padrão já adotado em outras ferramentas, como o Jira Produção.
Essa mudança tem como objetivo aprimorar a segurança e a gestão de acessos a ferramenta. Atenciosamente, equipe TOTVS.
Esta função permite criar um decimal com valor inicial, precisão e escala especificados. A precisão indica a quantidade total de dígitos do número, e a escala indica a quantidade reservada para as casas decimais do número.
Indica o valor inicial do decimal. Somente caractere ou numérico.
X
iPrecision
numérico
Indica a precisão do decimal. O valor deve ser maior que zero e menor que 64.
X
iScale
numérico
Indica a escala do decimal. Valor deve ser maior ou igual a zero e menor que o parâmetro <iPrecision>.
X
Retorno
Nome
Tipo
Descrição
dRet
decimal de ponto fixo
Retorna o novo decimal criado.
Observações
Para utilizar qualquer cálculo aritmético com decimal de ponto fixo, é necessário criar primeiro o número decimal. Para isso, o parâmetro <xValue> deve ser do tipo caracter ou numérico. Porém, ser for passado qualquer outro tipo de dado não listado, a função lançará uma exceção para interromper a execução.
Se o parâmetro <xValue> for do tipo de dado caracter e o conteúdo da string não for um decimal válido, o decimal será criado e seu valor inicial será igual a 0.
Caso o valor passado nos parâmetros <iPrecision> e <iScale> contenham parte decimal, estes serão desconsiderados.
A criação de um valor com precisão em decimal de ponto fixo, quando informamos um número como parâmetro (e não uma string), está sujeito ao limite de precisão numérica pré-existente neste número. O número informado é interpretado pelo compilador como uma constante numérica, sujeita ao desvio de precisão decimal de ponto flutuante da linguagem AdvPL. Ao criarmos um número decimal de ponto fixo a partir desta constante compilada e tratada como um número na linguagem AdvPL, vamos obter um valor onde houve arredondamento na 15ª casa decimal. Para o decimal de ponto fixo ser criado corretamente a partir de um número constante, deve-se colocá-lo entre ASPAS, para a string representativa do número gerar o valor em memória.
Em builds superiores a 7.00.131227A, essa função sempre irá criar um número decimal, mesmo que este estoure a precisão definida (por iPrecision e iScale). Nessa situação, uma mensagem de atenção será impressa no console.
Exemplos
Exemplo 1
User Function Exemplo()
Local dec1
Local dec2
dec1 := DEC_CREATE( "5.7591111111111119", 21, 20 ) // Constante entre aspas
dec2 := DEC_CREATE( 5.7591111111111119, 21, 20 )
Return
Abrangência
Protheus 10, TOTVS Application Server 10, ByYou Application Server