Come: |
Lingue disponibili: reporting, Maintain
La funzione PTOA converte unnumero decimale compresso da formato numerico in formato alfanumerico. Questa funzione mantiene le posizioni decimali del numero e lo giustica a destra con spazi iniziali. È inoltre possibile aggiungere opzioni di modifica ad un numero convertito da PTOA.
Quando si utilizza PTOA per convertire un numero contenente decimali in una stringa di caratteri, è necessario specificare un formato alfanumerico abbastanza grande per accomodare le porzioni sia dei valori interi che decimali del numero. Per esempio, un formato P12.2C viene convertito in A14. Se il formato d'emissione non è grande abbastanza, i caratteri più a destra vengono troncati.
PTOA(number, '(format)', output)
dove:
P numerico (decimale compresso)
Il numero da convertire, o il nome di un campo che contiene il numero.
Alfanumerico
Il formato di emissione del numero racchiuso in virgolette singole e parentesi.
Solo il formato decimale compresso non è supportato. Includere qualsiasi opzione di modifica che si desidera fa apparire nell'emissione.
Il valore di formato non richiede la stessa lunghezza o numero di posizioni decimali come il campo originale. Se si modifica il numero di posizioni decimali, il risultato viene arrotondato. Se la lunghezza è troppo corta per mantenere la porzione intera del numero, gli asterisci si visualizzano, invece del numero.
Se si usa un nome campo per questo argomento, specificare il nome senza virgolette o parentesi. Tuttavia, le parentesi devono essere incluse intorno ale formato memorizzato in questo campo. Per esempio:
FMT/A10 = '(P12.2C)';
È possibile, quindi, usare questo campo come argomento formato quando si usa la funzione nella propria richiesta.
COMPUTE ALPHA_GROSS/A20 = PTOA(PGROSS, FMT, ALPHA_GROSS);
Alfanumerico
Nome del campo che contiene il risultato o il formato del valore di emissione racchiuso tra virgolette singole. La lunghezza di questo argomento deve essere maggiore rispetto a quella del numero e deve tenere conto delle opzioni di modifica e di un eventuale segno negativo.
PTOA viene chiamto due volte per convertire il campo PGROSS da decimale compresso in formato alfanumerico. Il formato specificato nella prima chiamata alla funzione viene memorizzato in un campo virtuale chiamato FMT. Il formato specificato nella seconda chiamata alla funzione non include le posizioni decimali, quindi il valore viene arrotondato quando appare:
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
L'emissione è:
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
WebFOCUS |