Sintaxis
La sintaxis para definir un formato de valor es:
([carácter/caracteres prefijo]campo[carácter/caracteres sufijo][{campo-opción1,campo-opción2,...}])+
siendo | carácter/caracteres prefijo y carácter/caracteres sufijo caracteres opcionales que controlan la alineación y la presentación de símbolos negativos/positivos; |
campo puede ser cualquier formato o texto propio del tipo de datos; y |
{campo-opciones} es un calificador opcional que habilita opciones de formato adicionales. |
Explicación sobre la sintaxis de definición
Así se construye la definición de formato de valor:
•La definición está compuesta por un campo o varios. Por ejemplo, la definición DD Month YYYY tiene tres campos.
•Los campos pueden ir juntos o pueden estar separados por estos caracteres: espacio, guión, coma, dos puntos, punto o por una cadena de texto entre comillas simples o dobles. Por ejemplo, en la definición DD-Month' en el año 'YYYY, los campos DD y Month están separados por un guión y los campos Month y YYYY están separados por una cadena de texto entre comillas simples.
•Un campo puede tener caracteres prefijo / sufijo. Por ejemplo: <+###,##0.00.
•Un campo puede tener una opción de campo o varias. Las opciones de campo de cada campo deben tener un conjunto de llaves y deben seguir al campo sin estar separados por espacios. Si usa varias opciones para un campo, entonces sepárelas con una coma ",". Por ejemplo, en la definición DD Month{uc,ro} YYYY, las opciones de campo uc y ro que aparecen entre llaves son las opciones del campo Month.
Ejemplos
Ejemplo de formato de valor para un tipo de datos xs:decimal:
"$"(##0.00)
Ejemplos de resultados:
$ 25.00
$ 25.42
$267.56
Ejemplo de formato de valor para un tipo de datos xs:date:
DD Month{uc,ro} YYYY
siendo | uc y ro opciones de campo para convertir el campo del mes Month en mayúsculas y solo lectura |
Ejemplo de resultado:
24 SEPTEMBER 2003
Tipos de campo
Un tipo de campo equivale a un componente de los datos y la forma en que se debe dar formato al componente. El formato inherente al tipo de campo se puede modificar con prefijos y sufijos modificadores así como con opciones de campo. Las tablas que aparecen a continuación enumeran todos los tipos de campo disponibles. No olvide que puede modificar las opciones del menú desplegable del cuadro de diálogo "Editar campo" con ayuda de los prefijos y sufijos modificadores y de las opciones de campo.
Tipo de campo | Definición |
# | espacio si no hay un dígito en esta posición |
0 | cero si no hay un dígito en esta posición |
. | marca decimal |
, | separador de grupo de dígitos |
Y | Año |
y | año (base = 1930); ver nota más abajo |
MM | Mes, debe tener una longitud de 2 |
DD | Día, debe tener una longitud de 2 |
W | Número de la semana |
d | Número del día de la semana (del 1 al 7) |
i | Día del año (del 1 al 366) |
hh | Hora (de 0 a 23), debe tener una longitud de 2 |
HH | Hora (de 0 a 12), debe tener una longitud de 2 |
mm | Minuto, debe tener una longitud de 2 |
ss | Segundo, debe tener una longitud de 2 |
AM | AM o PM |
am | am o pm |
AD | AC o DC |
ad | ac o dc |
CE | EC o AEC |
ce | ec o aec |
Tipo de campo | Definición |
Weekday | día de la semana (Lunes, Martes...) |
WEEKDAY | día de la semana (LUNES, MARTES...) |
weekday | día de la semana (lunes, martes...) |
Wkd | día de la semana (Lun, Mar...) |
WKD | día de la semana (LUN, MAR...) |
wkd | día de la semana (lun, mar...) |
Month | mes (Enero, Febrero...) |
MONTH | mes (ENERO, FEBRERO...) |
month | mes (enero, febrero...) |
Mon | mes (Ene, Feb...) |
MON | mes (ENE, FEB...) |
mon | mes (ene, feb...) |
Notas sobre la longitud del campo y de la entrada
Debe tener en cuenta estos aspectos sobre la longitud de los componentes de datos:
Longitud de los campos de fecha: cuando utilice campos como MM, DD, HH, hh, mm y ss, compruebe que tienen una longitud de 2. Cuando utilice los campos y o Y, el número de caracteres y o Y de la definición determina la longitud del resultado. Por ejemplo, si especifica YYY, el resultado del valor 2006 sería 006; pero si la definición fuera YYYYYY, el valor sería 002006.
Aumentar la longitud del campo: el símbolo * se usa para aumentar la longitud de un campo numérico no semántico (enteros, decimales, etc.). En el caso de los decimales, puede usar el asterisco a ambos lados del punto decimal. Por ejemplo, el valor de formato *0.00* hace que en la posición de cada asterisco aparezca un cero.
Nota: | si un campo no genera texto en el documento de salida, puede ser debido a su configuración regional en Windows. Por ejemplo, Windows devuelve una cadena vacía para el campo AM/PM si la opción de idioma regional es Alemán. |
Prefijos y sufijos modificadores
Los prefijos y sufijos modificadores se usan para modificar la alineación del texto y la representación positiva/negativa de los campos. Esta tabla muestra los prefijos y sufijos disponibles.
Prefijo | Sufijo | Definición |
< | Alineado a la izquierda. Formato predeterminado para texto. Para números, que se alinean a la derecha por defecto, debe tener en cuenta el número de espacios iniciales. | |
> | Alineado a la derecha. Formato predeterminado para números. | |
? | Símbolo menos junto al número si es negativo. Si no, nada. Formato predeterminado para los números. | |
<? | Símbolo menos a la izquierda si es negativo. Si no, nada. El número alineado a la izquierda y después el símbolo menos. | |
<?> | Símbolo menos a la izquierda si es negativo. Si no, nada. El número alineado a la derecha. | |
- | - | Símbolo menos junto al número si es negativo. Si no, espacio. Situado antes del número (prefijo), después del número (sufijo). |
<- | >- | Símbolo menos si es negativo. Si no, espacio. El número junto al símbolo menos. Alineados a la izquierda (prefijo), alineados a la derecha (sufijo). |
<-> | Símbolo menos a la izquierda si es negativo. Si no, espacio. El número alineado a la derecha. | |
+ | + | Símbolo menos o más siempre, junto al número. Antes del número (prefijo), después del número (sufijo) |
<+ | >+ | Símbolo menos o más siempre, junto al número. Alineado a la izquierda (prefijo), alineado a la derecha (sufijo) |
<+> | Símbolo menos o más siempre, alineado a la izquierda. El número alineado a la derecha. | |
( | ) | Paréntesis si es negativo. Si no, espacio. Situado junto al número. |
<( | Paréntesis si es negativo. Si no, espacio. Situado junto al número. Alineado a la izquierda. | |
<(> | Paréntesis si es negativo. Si no, espacio. Paréntesis izquierdo alineado a la izquierda. El número y el paréntesis derecho uno junto al otro y alineados a la derecha. | |
[ | ] | Paréntesis si es negativo. Si no, nada. Situado junto al número. |
* | * | Número de dígitos ampliable a la izquierda (prefijo) o a la derecha (sufijo) |
_ | _ | Espacio |
^ | ^ | Carácter de relleno (definido en las opciones) |
th | Escala ordinal del número en inglés (st, nd, rd o th) | |
TH | Escala ordinal del número en inglés y mayúsculas (ST, ND, RD o TH) |
Opciones de campo
Las opciones de campo sirven para realizar algunos cambios en los campos del valor de formato. Estas son las opciones disponibles:
Opción | Definición |
uc | Mayúsculas |
lc | Minúsculas |
left | Alineado a la izquierda |
right | Alineado a la derecha |
ro | Solo lectura (XML), edición no permitida |
edit | El campo es editable (opción activa por defecto) |
dec=<char> | Especificar un carácter para el punto decimal (el punto es la opción predeterminada) |
sep=<char> | Especificar un carácter para el separador de dígitos (la coma es la opción predeterminada) |
fill=<char> | Especificar el carácter de relleno |
base=<year> | Año base para los campos de año (ver nota más abajo) |
pos | Solo mostrar los números positivos. Está permitido introducir números negativos |
Debería usar las opciones de campo para generar formatos numéricos en idiomas europeos, que usan las comas y los puntos de forma diferente: p. ej 123.456,75.
El formato de valor necesario para obtener el formato de este ejemplo sería: ###,###.##{dec=,,sep=.}
Observe que el campo retiene el formato inglés, mientras que las opciones de campo dec y sep especifican el símbolo decimal y el separador de dígitos. Si el símbolo decimal y separador de dígitos no se especifican, se usará el símbolo decimal y el separador de dígitos predeterminado de la configuración regional del sistema operativo Windows.