Compartir a través de


Función Format para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

La función Format de Visual Basic 2008 se ajusta ahora a la especificación Common Language Runtime (CLR) para asignar formato a los datos. Para obtener más información sobre el formato de datos en .NET Framework, vea Aplicar formato a tipos.

En las secciones siguientes se muestran los cambios que Visual Basic 2008 realiza en los formatos de fecha y hora, formatos numéricos y formatos de cadena definidos por el usuario.

Formatos de fecha y hora definidos por el usuario

Visual Basic 6.0

En Visual Basic 6.0, para mostrar una fecha en formato corto o largo, utiliza el especificador de formato "ddddd" o "dddddd". Los especificadores DayOfWeek ("w") y WeekOfYear ("ww") muestran el primer día de la semana y la primera semana del año, respectivamente. El carácter en minúscula "m" muestra el mes con un número sin cero a la izquierda. El especificador Quarter ("q") muestra el trimestre del año con un número del 1 al 4.

Para mostrar los minutos como un número con o sin ceros iniciales, utiliza el especificador de formato "Nn" o "N". Los caracteres "Hh" muestran la hora como un número con ceros iniciales, y "ttttt" muestra la hora completa. Para mostrar las letras "A" o "P" en mayúscula o minúscula con una hora anterior o posterior al mediodía, utiliza "AM/PM", "am/pm", "A/P", "a/p" o "AMPM."

El especificador de fecha y hora abreviado ("c") muestra una fecha y hora en el formato "ddddd ttttt".

Visual Basic 2005

En Visual Basic 2008, "ddddd" y "dddddd" se comportan de la misma manera que "dddd" y muestran el nombre completo del día. No muestran la fecha en formato corto ni en formato largo. No se admiten DayOfWeek ("w") ni WeekOfYear ("ww"). En su lugar, puede utilizar la función DatePart, tal y como se muestra en el ejemplo siguiente.

Format(DatePart(DateInterval.Weekday, Now))


...


Format(DatePart(DateInterval.WeekOfYear, Now))

"M" y "m" tienen significados diferentes y, por tanto, distinguen entre mayúsculas y minúsculas. Utilice "M" para el mes de la parte de la fecha del formato de fecha y hora, y "m" para los minutos de la parte de la hora.

No se admite el formato Quarter. En su lugar, puede utilizar la función DatePart, tal y como se muestra en el ejemplo siguiente.

Format(DatePart(DateInterval.Quarter, Now))

Para mostrar los minutos como un número con o sin ceros iniciales, utilice "mm" o "m", respectivamente. No se admite el formato "ttttt". "H" y "h" tienen significados diferentes y, por tanto, distinguen entre mayúsculas y minúsculas. Utilice "H" para mostrar un reloj de 24 horas y "h" para un reloj de 12 horas. Los formatos AM/PM se reemplazan por "t" y "tt".

El especificador "c" se utiliza para el formato de moneda. Para el formato de fecha y hora, utilice "g" como especificador de fecha y hora en formato corto y "G" como especificador de fecha y hora general. "g" y "G" utilizan la configuración regional actual para determinar los formatos de fecha y hora adecuados.

Formatos numéricos definidos por el usuario

Visual Basic 6.0

En Visual Basic 6.0, la función Format convierte las cadenas en números, si es necesario, antes de asignarles un formato. Format muestra un separador decimal final si no hay parte fraccionaria.

Visual Basic 6.0 admite cuatro secciones en la cadena de formato. Estas secciones están separadas mediante puntos y coma (;) y especifican el formato de los valores positivos, negativos, cero y nulos, respectivamente. Los números negativos con una sección negativa vacía en la cadena de formato muestran una cadena vacía.

El formato de notación científica permite que se incluyan los marcadores de posición de dígitos "0" y "#" después del exponente.

Visual Basic 2005

En Visual Basic 2008, la función Format no convierte las cadenas en números antes de darles formato. Debe transferir un número en el primer argumento, y no una cadena. En el ejemplo siguiente, la primera línea de código no genera el resultado esperado en Visual Basic 2008, mientras que la segunda sí lo hace.

MsgBox(Format("1.234", "#.#"))   ' Displays "#.#".


...


MsgBox(Format(CSng("1.234"), "#.#"))   ' Displays "1.2".

No se muestran separadores decimales finales, como en el ejemplo siguiente:

MsgBox(Format(123, "###."))   ' Displays "123"


...


MsgBox(Format(123, "###.#"))   ' Displays "123"

Visual Basic 2008 admite tres secciones en la cadena de formato, para dar formato a valores positivos, negativos y cero. Si se redondea a cero un valor distinto de cero de acuerdo con las secciones de formato primera o segunda, el formato se asigna en función de la tercera sección. Los números negativos con una sección negativa vacía en la cadena de formato muestran un signo menos, como en el ejemplo siguiente:

MsgBox(Format(-1, ";"))   ' Displays "-".

El formato de notación científica sólo es compatible con el marcador de posición de dígitos "0", pero no con "#". En el ejemplo siguiente, la primera línea de código no genera el resultado esperado en Visual Basic 2008, mientras que la segunda sí lo hace.

MsgBox(Format(123, "#e+#"))   ' Displays "12e+3".


...


MsgBox(Format(123, "#e+0"))   ' Displays "1e+2".

Formato de cadena

Visual Basic 6.0

En Visual Basic 6.0, puede crear expresiones para las cadenas de formato definidas por el usuario con los especificadores @, &, <, > y !.

Visual Basic 2005

Visual Basic 2008 elimina la compatibilidad de expresiones para las cadenas de formato definidas por el usuario, por lo que los especificadores de formato @, &, <, > y ! no tienen significado alguno y ya no se admiten.

Vea también

Conceptos

Fecha y hora para usuarios de Visual Basic 6.0

Resumen de cambios de los elementos de programación ofrecidos

Referencia

Format (Función)

DatePart (Función, Visual Basic)