Como: |
Linguagens Disponíveis: Reporting, Maintain
A função PTOA converte um número decimal compactado do formato numérico em formato alfanumérico. Retém as posições decimais do número e o justifica à direita com espaços. Você também pode adicionar opções de edição a um número convertido por PTOA.
Ao utilizar PTOA para converter um número contendo decimais em uma string de caracteres, você deve especificar um formato alfanumérico alto o suficiente para acomodar as porções de números inteiros e decimais do número. Por exemplo, um formato P12.2C é convertido em A14. Se o formato de saída não for alto o suficiente, os caracteres na extrema direita serão truncados.
PTOA(number, '(format)', output)
onde:
P Numérico (decimal compactado)
É o número a ser convertido ou o nome de um campo que contém a data.
Alfanumérico
É o formato do número entre aspas simples e parênteses.
Apenas o formato compactado decimal é suportado. Inclua qualquer opção de edição que você deseja que apareça na saída.
O valor do formato não exige o mesmo comprimento ou número de casas decimais que o campo original. Se você alterar o número de casa decimais, o resultado será arredondado. Se você encurtar o comprimento ao ponto da parte inteira do número não caber, asteriscos aparecerão no lugar do número.
Se você utilizar um nome de campo para este argumento, especifique o nome sem as aspas ou parênteses. No entanto, o formato armazenado neste campo deve estar entre parênteses. Por exemplo:
FMT/A10 = '(P12.2C)';
Você pode, então, utilizar este campo como o argumento de formato quando utilizar a função na sua solicitação:
COMPUTE ALPHA_GROSS/A20 = PTOA(PGROSS, FMT, ALPHA_GROSS);
Alfanumérico
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O comprimento deste argumento deve ser maior do que o comprimento do número e deve explicar as opções de edição e um possível sinal negativo.
PTOA é chamado duas vezes para converter o campo PGROSS do formato compactado decimal para alfanumérico. O formato especificado na primeira chamada para a função é armazenado em um campo virtual de nome FMT. O formato especificado na segunda chamada para a função não inclui casas decimais, portanto, o valor é arredondado quando aparece:
DEFINE FILE EMPLOYEE PGROSS/P18.2=GROSS; FMT/A10='(P14.2C)'; END TABLE FILE EMPLOYEE PRINT PGROSS NOPRINT COMPUTE AGROSS/A17 = PTOA(PGROSS, FMT, AGROSS); AS '' COMPUTE BGROSS/A37 = '<- THIS AMOUNT IS' | PTOA(PGROSS, '(P5C)', 'A6') | ' WHEN ROUNDED'; AS '' IN +1 BY HIGHEST 1 PAY_DATE NOPRINT BY LAST_NAME NOPRINT END
A saída é:
2,475.00 <- THIS AMOUNT IS 2,475 WHEN ROUNDED 1,815.00 <- THIS AMOUNT IS 1,815 WHEN ROUNDED 2,255.00 <- THIS AMOUNT IS 2,255 WHEN ROUNDED 750.00 <- THIS AMOUNT IS 750 WHEN ROUNDED 2,238.50 <- THIS AMOUNT IS 2,239 WHEN ROUNDED 1,540.00 <- THIS AMOUNT IS 1,540 WHEN ROUNDED 1,540.00 <- THIS AMOUNT IS 1,540 WHEN ROUNDED 1,342.00 <- THIS AMOUNT IS 1,342 WHEN ROUNDED 1,760.00 <- THIS AMOUNT IS 1,760 WHEN ROUNDED 1,100.00 <- THIS AMOUNT IS 1,100 WHEN ROUNDED 791.67 <- THIS AMOUNT IS 792 WHEN ROUNDED 916.67 <- THIS AMOUNT IS 917 WHEN ROUNDED
Information Builders |