Programación flexible de CN
1.9 Operaciones con cadenas de caracteres
%<m>.<n>P:
%S:
%<m>S:
90
Conversión, según el ajuste del dato de máquina
MD10751 $MN_SPRINT_FORMAT_P_DECIMAL, de un valor REAL a una cadena
con:
•
un número entero de <m> + <n> dígitos o bien
•
un número decimal con un máximo de <m> dígitos antes de la coma y
exactamente <n> decimales.
Como en la descripción de formato %.<n>P, toda la cadena se guarda en el código
de caracteres definido por MD10750 $MN_SPRINT_FORMAT_P_CODE.
Conversión con MD10751 = 0:
El valor REAL se convierte a una cadena con un número entero de <m> + <n>
dígitos. Los decimales se redondean a <n> dígitos o se rellenan con 0, según
proceda. Las posiciones vacías antes de la coma se rellenan con espacios. El
signo menos se añade a la izquierda, mientras que el signo más se sustituye por un
espacio.
Ejemplo:
N10 DEF REAL REAL_VAR=-123.45
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("PUNCHED TAPE FORMAT:%5.3P",REAL_VAR)
Resultado: la variable de tipo cadena RESULT se describe con la cadena de
caracteres "PUNCHED TAPE FORMAT:-xx123450" (en el ejemplo, "x" representa
un espacio).
Conversión con MD10751 = 1:
El valor REAL se convierte a una cadena con un número decimal con un máximo
de <m> dígitos antes de la coma y exactamente <n> decimales. Según proceda,
los dígitos antes de la coma se cortan y los decimales se redondean o se rellenan
con 0. Si <n> es igual a 0, el separador de decimales también se suprime.
Ejemplo:
N10 DEF REAL REAL_VAR1=-123.45
N20 DEF REAL REAL_VAR2=123.45
N30 DEF STRING[80] RESULT
N40 RESULT=SPRINT("PUNCHED TAPE FORMAT:%5.3P VAR2:%2.0P",
REAL_VAR1,REAL_VAR2)
Resultado: la variable de tipo cadena RESULT se describe con la cadena de
caracteres "PUNCHED TAPE FORMAT:-123.450 VAR2:23".
Inserción de una cadena.
Ejemplo:
N10 DEF STRING[16] STRING_VAR="ABCDEFG"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%S",STRING_VAR)
Resultado: la variable de tipo cadena RESULT se describe con la cadena de
caracteres "CONTENT OF STRING_VAR:ABCDEFG".
Inserción de una cadena de al menos <m> caracteres. Las posiciones vacías se
rellenan con espacios.
Ejemplo:
N10 DEF STRING[16] STRING_VAR="ABCDEFG"
N20 DEF STRING[80] RESULT
N30 RESULT=SPRINT("CONTENT OF STRING_VAR:%10S",STRING_VAR)
Resultado: la variable de tipo cadena RESULT se describe con la cadena de
caracteres "CONTENT OF STRING_VAR:xxxABCDEFG" (en el ejemplo, "x"
representa un espacio).
Manual de programación, 09/2011, 6FC5398-2BP40-2EA0
Preparación del trabajo