Función FMT

Sintaxis

FMT (expresión, formato)
expresión formato

Descripción

Utilice la función FMT o una expresión de formato para formatear los datos para la salida. Cualquier expresión BASIC se puede formatear para la salida especificando a continuación una expresión de formato.

El valor de expresión se evalúa como el valor numérico o de serie que se va a formatear.

La expresión formato se evalúa como una serie de códigos de formato. La sintaxis de la expresión de formato es:

[ancho] [relleno] justificación
[edición] [máscara]

La expresión de formato especifica el ancho del campo de salida, la colocación de caracteres de relleno o fondo, la justificación de líneas, las especificaciones de edición y la máscara de formato.

Si expresión se evalúa como valor nulo, se devuelve el valor nulo. Si formato se evalúa como nulo, la función FMT y la operación de formato fallan.

El valor de ancho es un entero que especifica el tamaño del campo de salida en que se debe justificar el valor. Si especifica máscara, no es necesario que indique ancho. Si no especifica máscara, deberá indicar ancho.

El valor de relleno especifica el carácter que se utilizará para rellenar las entradas en el campo de salida. El valor de relleno se especifica como un único carácter. El carácter de relleno predeterminado es un espacio. Si desea emplear un carácter numérico o la letra L, R, T o Q como carácter de relleno, deberá escribirlo entre comillas simples.

El valor de justificación se debe especificar con uno de los formatos siguientes.

Notación decimal:

L
Justificación a la izquierda - Interrumpir en longitud del campo.
R
Justificación a la derecha - Interrumpir en longitud del campo.
J
Justificación de texto - Justificar a la izquierda e interrumpir en espacio.
U
Justificación a la izquierda - Interrumpir en longitud del campo.

Notación exponencial:

Q
Justificación a la derecha - Interrumpir en longitud del campo.
QR
Justificación a la derecha - Interrumpir en longitud del campo.
QL
Justificación a la izquierda

El valor de edición puede ser cualquiera de los siguientes:

n[m]
Si se usa con la justificación L, R o T, n es el número de dígitos que se visualizarán a la derecha del separador decimal, y m divide el valor por m menos la precisión actual. Cada uno puede ser un número de 0 a 9. Debe especificar n para indicar m. Si no especifica m, se supone m = 0. Si no especifica n, se supone que n = m = 0. No olvide tener en cuenta la precisión al especificar m. La precisión predeterminada es 4.
Si especifica 0 para n, el valor se redondea al entero más próximo. Si el valor formateado tiene menos posiciones decimales que n, la salida se rellena con ceros hasta la posición decimal número n. Si el valor formateado tiene más posiciones decimales que n, la salida se redondea a la posición decimal número n.
Si especifica 0 para m, el valor se divide por la precisión actual (0 - precisión actual).
nEm
Si se usa con la justificación Q, QR o QL, n es el número de dígitos fraccionarios, y m especifica el exponente. Cada uno puede ser un número de 0 a 9.
n.m
Si se usa con la justificación Q, QR o QL, n es el número de dígitos que preceden al separador decimal, y m es el número de dígitos fraccionarios. Cada uno puede ser un número de 0 a 9.
$
Antepone al valor como prefijo un signo de dólar.
F
Antepone al valor como prefijo un signo de franco.
,
Inserta comas después de las unidades de millar.
Z
Suprime los ceros iniciales. Devuelve una serie vacía si el valor es 0. Si se utiliza con el formato Q, solo se suprimen los ceros fraccionarios finales, y se suprime el exponente cero.
E
Delimita los números negativos con corchetes angulares (< >).
C
Anexa cr a los números negativos.
D
Anexa db a los números positivos.
B
Anexa db a los números negativos.
N
Suprime el signo menos en los números negativos.
L
Anexa el signo menos a los números negativos.
J
Trunca en lugar de redondear.
S
En la modalidad de soporte multilingüístico, antepone el carácter de yen/yuan al valor, es decir, el valor Unicode 00A5. Devuelve el código de estado 2 si se utiliza Y con el código MR o ML. Si el soporte multilingüístico está inhabilitado o la categoría monetaria no se utiliza, Y antepone el valor de byte 0xA5.
Nota: Las opciones E, M, C, D y N definen representaciones numéricas de uso monetario, mediante prefijos o sufijos. En la modalidad de soporte multilingüístico, estas opciones alteran temporalmente las categorías numérica y monetaria.

El valor de máscara permite combinar literales con numéricos en el campo de salida formateada. La máscara puede incluir cualquier combinación de literales y los tres caracteres de máscara de formato especiales siguientes:

#n
Los datos se visualizan en un campo de n caracteres de relleno. El carácter de relleno predeterminado es un espacio en blanco. Se utiliza si la serie de formato no especifica un carácter de relleno tras el parámetro de ancho.
%n
Los datos se visualizan en un campo de n ceros.
*n
Los datos se visualizan en un campo de n asteriscos.

Si desea utilizar caracteres numéricos o alguno de los caracteres especiales como literales, debe aplicar la función de escape al carácter especial con una barra inclinada invertida ( \ ).

Un carácter #, % o * seguido de dígitos hace que el carácter de relleno de fondo se repita n veces. Otros caracteres seguidos de dígitos hacen que esos caracteres aparezcan en los datos de salida n veces.

El valor de máscara puede escribirse entre paréntesis ( ) para mayor claridad. Si máscara contiene paréntesis, deberá escribir toda la máscara dentro de otro conjunto de paréntesis. Por ejemplo:

((###) ###-####)

Debe especificar ancho o máscara en la función FMT. Puede especificar ambos valores en la misma función. Si especifica ancho, la serie se formatea según las reglas siguientes:

Si serie es menor que el ancho n, se rellena con caracteres de relleno.

Si serie es mayor que el ancho n, se inserta una marca de texto (CHAR(251)) cada n caracteres y cada campo se rellena con el carácter de relleno hasta ancho.

La función STATUS refleja el resultado de edición tal como se indica a continuación:

:

0
El código de edición es satisfactorio.
1
La expresión de serie no es válida.
2
El código de edición no es válido.

Consulte la función STATUS para obtener más información.

Tipo REALITY

En las cuentas de tipo REALITY, puede utilizar códigos de conversión en las expresiones de formato.

Ejemplos

Expresión de formato
Valor formateado
Z=FMT("236986","R##-##-##")
Z=       23-69-86
X="555666898" X=FMT(X,"20*R2$,")
X=       *****$555,666,898.00
Y="DAVID" Y=FMT(Y,"10.L")
Y=       DAVID.....
V="24500" V=FMT(V,"10R2$Z")
V=        $24500.00
R=FMT(77777,"R#10")
R=            77777
B="0.12345678E1" B=FMT(B,"9*Q")
B=       *1.2346E0
PRINT 233779 "R"
233779
PRINT 233779 "R0"
233779
PRINT 233779 "R00"
2337790000
PRINT 233779 "R2"
233779.00
PRINT 233779 "R20"
2337790000.00
PRINT 233779 "R24"
233779.00
PRINT 233779 "R26"
2337.79
PRINT 2337.79 "R"
2337.79
PRINT 2337.79 "R0"
2338
PRINT 2337.79 "R00"
23377900
PRINT 2337.79 "R2"
2337.79
PRINT 2337.79 "R20"
23377900.00
PRINT 2337.79 "R24"
2337.79
PRINT 2337.79 "R26"
23.38