Strings.Format(Object, String) Método

Definición

Devuelve una cadena con el formato que especifiquen las instrucciones contenidas en una expresión String de formato.

public static string Format (object? Expression, string? Style = "");
public static string Format (object Expression, string Style = "");
static member Format : obj * string -> string
Public Function Format (Expression As Object, Optional Style As String = "") As String

Parámetros

Expression
Object

Obligatorio. Cualquier expresión válida.

Style
String

Opcional. Expresión válida de formato de tipo String con nombre o definida por el usuario.

Devoluciones

Cadena con el formato que especifiquen las instrucciones contenidas en una expresión String de formato.

Ejemplos

En este ejemplo se muestran los diversos usos de la función Format para dar formato a valores tanto con formatos String como otros definidos por el usuario. Para el separador de fecha (/), hora (:) e indicadores de a.m./p.m. (t y tt), el formato de salida que muestre su sistema dependerá de la configuración regional que use el código. Cuando las horas y fechas se muestren en el entorno de desarrollo, se utilizará el formato de fecha y hora corta de la configuración regional del código.

Nota

Para configuraciones regionales que utilizan un reloj de 24 horas, los indicadores de a.m./p.m. (t y tt) no muestran nada.

Dim testDateTime As Date = #1/27/2001 5:04:23 PM#
Dim testStr As String
' Returns current system time in the system-defined long time format.
testStr = Format(Now(), "Long Time")
' Returns current system date in the system-defined long date format.
testStr = Format(Now(), "Long Date")
' Also returns current system date in the system-defined long date 
' format, using the single letter code for the format.
testStr = Format(Now(), "D")

' Returns the value of testDateTime in user-defined date/time formats.
' Returns "5:4:23".
testStr = Format(testDateTime, "h:m:s")
' Returns "05:04:23 PM".
testStr = Format(testDateTime, "hh:mm:ss tt")
' Returns "Saturday, Jan 27 2001".
testStr = Format(testDateTime, "dddd, MMM d yyyy")
' Returns "17:04:23".
testStr = Format(testDateTime, "HH:mm:ss")
' Returns "23".
testStr = Format(23)

' User-defined numeric formats.
' Returns "5,459.40".
testStr = Format(5459.4, "##,##0.00")
' Returns "334.90".
testStr = Format(334.9, "###0.00")
' Returns "500.00%".
testStr = Format(5, "0.00%")

Comentarios

El String.Format método también proporciona una funcionalidad similar.

Si va a dar formato a una cadena numérica no localizada, debe usar un formato numérico definido por el usuario para asegurarse de que obtiene el aspecto que desea.

Si intenta dar formato a un número sin especificar Style, la Format función proporciona una funcionalidad similar a la Str función, aunque es consciente internacionalmente. Sin embargo, los números positivos con formato de cadenas que usan la Format función no incluyen un espacio inicial reservado para el signo del valor; los convertidos mediante la Str función conservan el espacio inicial.

Diferentes formatos para valores numéricos diferentes

Una expresión de formato definida por el usuario para los números puede tener de una a tres secciones separadas por punto y coma. Si el Style argumento de la Format función contiene uno de los formatos numéricos predefinidos, solo se permite una sección.

Si se usa El resultado es el siguiente
Solo una sección La expresión de formato se aplica a todos los valores.
Dos secciones La primera sección se aplica a los valores positivos y los ceros; la segunda se aplica a los valores negativos.
Tres secciones. La primera sección se aplica a los valores positivos, la segunda a los valores negativos y la tercera a los ceros.

El ejemplo siguiente tiene dos secciones: la primera define el formato para valores positivos y ceros; la segunda sección define el formato de los valores negativos. Puesto que el Style argumento de la Format función toma una cadena, se incluye entre comillas.

Dim style1 As String = "$#,##0;($#,##0)"

Si incluye puntos y coma sin nada entre ellos, la sección que falta se imprime con el formato del valor positivo. Por ejemplo, el formato siguiente muestra valores positivos y negativos con el formato de la primera sección y muestra Zero si el valor es cero.

Dim style2 As String = "$#,##0;;\Z\e\r\o"

Formatos numéricos predefinidos

En la tabla siguiente se identifican los nombres de los formatos numéricos predefinidos. Estos pueden usarse por nombre como Style argumento para la Format función:

Nombre de formato Descripción
General Number, Go g Muestra el número sin separador de miles.

Por ejemplo, Format(&H3FA, "g") devuelve 1018.
Currency, Co c Muestra el número con separador de miles, si procede; muestra dos dígitos a la derecha del separador decimal. El resultado dependerá de la configuración regional.

Por ejemplo, Format(1234567, "c") devuelve $1,234,567.00.
Fixed, Fo f Muestra al menos un dígito a la izquierda y dos a la derecha del separador de decimales.

Por ejemplo, Format(1234567, "f") devuelve 1234567.00.
Standard, No n Muestra el número con separador de miles, al menos un dígito a la izquierda y dos dígitos a la derecha del separador decimal.

Por ejemplo, Format(1234567, "n") devuelve 1,234,567.00.
Percent Muestra el número multiplicado por 100 con un signo de porcentaje (%) anexado justo a la derecha; siempre muestra dos dígitos a la derecha del separador decimal.

Por ejemplo, Format(0.4744, "Percent") devuelve 47.44%.
P o p Muestra el número con separador de miles multiplicado por 100 con un signo de porcentaje (%) anexado a la derecha y separado por un espacio simple; siempre muestra dos dígitos a la derecha del separador de decimales.

Por ejemplo, Format(0.80345, "p") devuelve 80.35 %.
Scientific Usa la notación científica estándar, que proporciona dos dígitos significativos.

Por ejemplo, Format(1234567, "Scientific") devuelve 1.23E+06.
E o e Utiliza la notación científica estándar, con seis dígitos significativos.

Por ejemplo, Format(1234567, "e") devuelve 1.234567e+006.
D o d Muestra el número como una cadena que contiene el valor del número en formato decimal (base 10). Esta opción solo se admite para tipos enteros (Byte, Short, Integer, ). Long

Por ejemplo, Format(&H7F, "d") devuelve 127.
X o x Muestra el número como una cadena que contiene el valor del número en formato hexadecimal (base 16). Esta opción solo se admite para tipos enteros (Byte, Short, Integer, ). Long

Por ejemplo, Format(127, "x") devuelve 7f.
Yes/No Muestra No si el número es 0; de lo contrario, muestra Yes.

Por ejemplo, Format(0, "Yes/No") devuelve No.
True/False Muestra False si el número es 0; de lo contrario, muestra True.

Por ejemplo, Format(1, "True/False") devuelve True.
On/Off Muestra Off si el número es 0; de lo contrario, muestra On.

Por ejemplo, Format(1, "On/Off") devuelve On.

Notas para desarrolladores de Smart Device

No Yes/Nose admiten los formatos , True/Falsey On/Off .

formatos numéricos de User-Defined

En la tabla siguiente se identifican los caracteres que se pueden usar para crear formatos de número definidos por el usuario. Se pueden usar para compilar el Style argumento de la Format función :

Carácter Descripción
None Muestra el número sin formato.
(0) Marcador de posición de dígitos. Muestra un dígito o un cero. Si la expresión tiene un dígito en la posición donde aparece el cero en la cadena de formato, mostrarlo; de lo contrario, muestra un cero en esa posición.

Si el número tiene menos dígitos que ceros (a cualquier lado del decimal) en la expresión de formato, muestra los ceros iniciales y finales. Si el número tiene más dígitos que ceros a la derecha del separador decimal en la expresión de formato, se redondea el número a tantas posiciones decimales como ceros haya. Si el número tiene más dígitos que ceros a la izquierda del separador decimal en la expresión de formato, muestra los dígitos adicionales sin modificación.
(#) Marcador de posición de dígitos. Muestra un dígito o nada. Si la expresión tiene un dígito en la posición donde aparece el # carácter en la cadena de formato, lo muestra; de lo contrario, no muestra nada en esa posición.

Este símbolo funciona como el 0 marcador de posición de dígitos, salvo que los ceros iniciales y finales no se muestran si el número tiene menos dígitos que caracteres # en cualquier lado del separador decimal en la expresión de formato.
(.) Marcador de posición decimal. El marcador de posición decimal determina el número de dígitos que se muestran a la izquierda y a la derecha del separador decimal. Si la expresión de formato contiene solo # caracteres a la izquierda de este símbolo; los números menores que 1 comienzan con un separador decimal. Para mostrar un cero inicial con números fraccionarios, use cero como primer marcador de posición de dígitos a la izquierda del separador decimal. En algunas configuraciones regionales, se usa una coma como separador decimal. El carácter real usado como marcador de posición decimal en la salida con formato depende del formato de número reconocido por el sistema. Por lo tanto, debe usar el punto como marcador de posición decimal en los formatos aunque esté en una configuración regional que usa una coma como marcador de posición decimal. La cadena con formato aparece en el formato correcto para la configuración regional.
(%) Marcador de posición de porcentaje. Multiplica la expresión por 100. El carácter de porcentaje (%) se inserta en la posición en la que aparece en la cadena de formato.
(,) Separador de miles. El separador de miles separa miles de cientos en un número que tiene cuatro o más posiciones a la izquierda del separador decimal. Se especifica el uso estándar del separador de miles si el formato contiene un separador de miles rodeado de marcadores de posición de dígitos (0 o #).

Un separador de miles inmediatamente a la izquierda del separador decimal (si se especifica o no un decimal) o como el carácter más derecho de la cadena significa "escalar el número dividiéndolo en 1000, redondeando según sea necesario". Los números menores que 1000, pero mayores o iguales a 500 se muestran como 1, y los números menores que 500 se muestran como 0. Dos separadores de miles adyacentes en esta posición escalan por un factor de 1 millón y un factor adicional de 1000 para cada separador adicional.

Varios separadores en cualquier posición que no sea la inmediatamente a la izquierda del separador decimal o la posición más a la derecha de la cadena se tratan simplemente como si se especificara el uso de un separador de miles. En algunas configuraciones regionales, se usa un punto como separador de miles. El carácter real que se usa como separador de miles en la salida con formato depende del formato de número que reconozca el sistema. Por lo tanto, debe usar la coma como separador de miles en los formatos aunque esté en una configuración regional que usa un punto como separador de miles. La cadena con formato aparece en el formato correcto para la configuración regional.

Por ejemplo, considere las tres cadenas de formato siguientes:

- "#,0.", que usa el separador de miles para dar formato al número 100 millones como la cadena "100 000 000".
- "#0,.", que usa el escalado por un factor de mil para dar formato al número 100 millones como la cadena "100000".
- "#,0,.", que usa el separador de miles y el escalado por mil para dar formato al número 100 millones como la cadena "100 000".
(:) Separador de líneas. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de hora. El separador de hora separa las horas, los minutos y los segundos cuando se aplica formato a los valores de hora. La configuración del sistema determina el carácter real que se usa como separador de hora en la salida con formato.
(/) Separador de fecha. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de fecha. El separador de fecha separa el día, el mes y el año cuando se aplica formato a los valores de fecha. La configuración del sistema determina el carácter real que se usa como separador de fecha en la salida con formato.
(E-``E+``e-``e+) Formato científico. Si la expresión de formato contiene al menos un marcador de posición de dígito (0 o #) a la izquierda de E-, E+, e-o e+, el número se muestra en formato científico y E o e se inserta entre el número y su exponente. El número de marcadores de posición de dígitos a la izquierda determina el número de dígitos en el exponente. Use E- o e- para colocar un signo menos junto a exponentes negativos. Use E+ o e+ para colocar un signo menos junto a exponentes negativos y un signo más junto a exponentes positivos. También debe incluir marcadores de posición de dígitos a la derecha de este símbolo para obtener el formato correcto.
-+$ ( ) Caracteres literales. Estos caracteres se muestran exactamente como se escriben en la cadena de formato. Para mostrar un carácter que no sea uno de los indicados, debe ir precedido de una barra diagonal inversa (\) o entre comillas dobles (" ").
(\) Muestra el siguiente carácter en la cadena de formato. Para mostrar un carácter con un significado especial como carácter literal, debe ir precedido de una barra diagonal inversa (\). La barra diagonal inversa no se muestra. Utilizar una barra diagonal inversa es equivalente a delimitar el siguiente carácter con comillas dobles. Para mostrar una barra diagonal inversa, use dos barras diagonales inversas (\\).

Algunos ejemplos de caracteres que no se pueden mostrar como caracteres literales son los caracteres de formato de fecha y formato de hora (a, , pctqshn/mywdy :), los caracteres de formato numérico (#, , %0eE, coma y punto) y los caracteres de formato de cadena (@, &, <, >y ).!
("``ABC``") Muestra la cadena entre comillas dobles (" "). Para incluir una cadena en el argumento de estilo desde el código, debe usar Chr(34) para incluir el texto (34 es el código de carácter de una comilla (")).

Ejemplo de código heredado

La tabla siguiente contiene algunas expresiones de formato de ejemplo para números. (En estos ejemplos se supone que la configuración regional del sistema es Inglés-EE.UU.) La primera columna contiene las cadenas de formato para el Style argumento de la Format función; las demás columnas contienen la salida resultante si los datos con formato tienen el valor especificado en los encabezados de columna.

Formato (Style) "5" con formato "-5" con formato "0.5" con formato
Zero-length string ("") 5 -5 0.5
0 5 -5 1
0.00 5.00 -5.00 0.50
#,##0 5 -5 1
$#,##0;($#,##0) $5 ($5) $1
$#,##0.00;($#,##0.00) $5.00 ($5.00) $0.50
0% 500% -500% 50%
0.00% 500.00% -500.00% 50.00%
0.00E+00 5.00E+00 -5.00E+00 5.00E-01
0.00E-00 5.00E00 -5.00E00 5.00E-01

Formatos de fecha y hora predefinidos

En la tabla siguiente se identifican los nombres de formato de fecha y hora predefinidos. Estos se pueden usar por nombre como argumento de estilo para la Format función:

Nombre de formato Descripción
General Date o G Muestra una fecha o una hora. Por ejemplo, 3/12/2008 11:07:31 AM. La representación de la fecha está determinada por el valor de la referencia cultural actual de la aplicación.
Long Date, Medium Dateo D Muestra una fecha según el formato de fecha larga de la referencia cultural actual. Por ejemplo, Wednesday, March 12, 2008.
Short Date o d Muestra una fecha con el formato de fecha corta de la referencia cultural actual. Por ejemplo, 3/12/2008.

El d carácter muestra el día en un formato de fecha definido por el usuario.
Long Time, Medium Timeo T Muestra una hora con el formato de hora larga de la referencia cultural actual; normalmente incluye horas, minutos y segundos. Por ejemplo, 11:07:31 AM.
Short Time o t Muestra una hora mediante el formato de hora corta de la referencia cultural actual. Por ejemplo, 11:07 AM.

El t carácter muestra AM o PM los valores de las configuraciones regionales que usan un reloj de 12 horas en un formato de hora definido por el usuario.
f Muestra la fecha larga y la hora corta según el formato de la referencia cultural actual. Por ejemplo, Wednesday, March 12, 2008 11:07 AM.
F Muestra la fecha larga y la hora larga según el formato de la referencia cultural actual. Por ejemplo, Wednesday, March 12, 2008 11:07:31 AM.
g Muestra la fecha corta y la hora corta según el formato de la referencia cultural actual. Por ejemplo, 3/12/2008 11:07 AM.
M, m Muestra el mes y el día de una fecha. Por ejemplo, March 12.

El M carácter muestra el mes en un formato de fecha definido por el usuario. El m carácter muestra los minutos en un formato de hora definido por el usuario.
R, r Da formato a la fecha según la RFC1123Pattern propiedad . Por ejemplo, Wed, 12 Mar 2008 11:07:31 GMT. La fecha con formato no ajusta el valor de fecha y hora. Debe ajustar el valor de fecha y hora a GMT antes de llamar a la Format función .
s Da formato a la fecha y hora como índice que se puede ordenar. Por ejemplo, 2008-03-12T11:07:31.

El s carácter muestra los segundos en un formato de hora definido por el usuario.
u Da formato a la fecha y hora como índice GMT que se puede ordenar. Por ejemplo, 2008-03-12 11:07:31Z.
U Da formato a la fecha y hora con la fecha larga y la hora larga GMT. Por ejemplo, Wednesday, March 12, 2008 6:07:31 PM.
Y, y Da formato a la fecha como el año y el mes. Por ejemplo, March, 2008.

Los Y caracteres y y muestran el año en un formato de fecha definido por el usuario.

Para obtener más información sobre la información de referencia cultural actual de la aplicación, vea Cómo afecta la referencia cultural a las cadenas en Visual Basic.

formatos de fecha y hora de User-Defined

En la tabla siguiente se muestran los caracteres que se pueden usar para crear formatos de fecha y hora definidos por el usuario. A diferencia de las versiones anteriores de Visual Basic, estos caracteres de formato distinguen mayúsculas de minúsculas.

Carácter Descripción
(:) Separador de líneas. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de hora. El separador de hora separa las horas, los minutos y los segundos cuando se aplica formato a los valores de hora. El valor de referencia cultural actual de la aplicación determina el carácter real que se usa como separador de hora en la salida con formato.
(/) Separador de fecha. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de fecha. El separador de fecha separa el día, el mes y el año cuando se aplica formato a los valores de fecha. La referencia cultural actual de la aplicación determina el carácter real que se usa como separador de fecha en la salida con formato.
(%) Se usa para indicar que el siguiente carácter se debe leer como un formato de una sola letra sin tener en cuenta las letras finales. También se usa para indicar que un formato de una sola letra se lee como un formato definido por el usuario. Vea lo siguiente para obtener más información.
d Muestra el día como un número sin cero inicial (por ejemplo, 1). Use %d si este es el único carácter en el formato numérico definido por el usuario.
dd Muestra el día como un número con un cero a la izquierda (por ejemplo, 01).
ddd Muestra el día como una abreviatura (por ejemplo, Sun).
dddd Muestra el día como un nombre completo (por ejemplo, Sunday).
M Muestra el mes como un número sin un cero a la izquierda (por ejemplo, enero se representa como 1). Use %M si este es el único carácter en el formato numérico definido por el usuario.
MM Muestra el mes como un número con un cero a la izquierda (por ejemplo, 01/12/01).
MMM Muestra el mes como abreviatura (por ejemplo, Jan).
MMMM Muestra el mes como un nombre de mes completo (por ejemplo, January).
gg Muestra la cadena period/era (por ejemplo, A.D.).
h Muestra la hora como un número sin ceros a la izquierda mediante el reloj de 12 horas (por ejemplo, 1:15:15 PM). Use %h si este es el único carácter en el formato numérico definido por el usuario.
hh Muestra la hora como un número con ceros a la izquierda mediante el reloj de 12 horas (por ejemplo, 01:15:15 PM).
H Muestra la hora como un número sin ceros a la izquierda mediante el reloj de 24 horas (por ejemplo, 1:15:15). Use %H si este es el único carácter en el formato numérico definido por el usuario.
HH Muestra la hora como un número con ceros a la izquierda mediante el reloj de 24 horas (por ejemplo, 01:15:15).
m Muestra el minuto como un número sin ceros a la izquierda (por ejemplo, 12:1:15). Use %m si este es el único carácter en el formato numérico definido por el usuario.
mm Muestra el minuto como un número con ceros a la izquierda (por ejemplo, 12:01:15).
s Muestra el segundo como un número sin ceros iniciales (por ejemplo, 12:15:5). Use %s si este es el único carácter en el formato numérico definido por el usuario.
ss Muestra el segundo como un número con ceros a la izquierda (por ejemplo, 12:15:05).
f Muestra fracciones de segundo. Por ejemplo ff , muestra centésimas de segundos, mientras que ffff muestra diez milésimas de segundos. Puede usar hasta siete f símbolos en el formato definido por el usuario. Use %f si este es el único carácter en el formato numérico definido por el usuario.
t Usa el reloj de 12 horas y muestra una mayúscula A para cualquier hora antes del mediodía; muestra una mayúscula P para cualquier hora entre mediodía y 11:59 P.M. Use %t si este es el único carácter en el formato numérico definido por el usuario.
tt En el caso de las configuraciones regionales que usan un reloj de 12 horas, muestra una mayúscula AM con cualquier hora antes del mediodía; muestra una mayúscula PM con cualquier hora entre el mediodía y las 11:59 p.m.

En las configuraciones regionales que utilizan el reloj de 24 horas, no muestra nada.
y Muestra el número de año (0-9) sin cero inicial. Use %y si este es el único carácter en el formato numérico definido por el usuario.
yy Muestra el año en formato numérico de dos dígitos con un cero inicial, si procede.
yyy Muestra el año en formato numérico de cuatro dígitos.
yyyy Muestra el año en formato numérico de cuatro dígitos.
z Muestra el desplazamiento de zona horaria sin un cero inicial (por ejemplo, -8). Use %z si este es el único carácter en el formato numérico definido por el usuario.
zz Muestra el desplazamiento de zona horaria con un cero a la izquierda (por ejemplo, -08)
zzz Muestra el desplazamiento de zona horaria completa (por ejemplo, -08:00)

Ejemplo de código heredado

A continuación se muestran ejemplos de formatos de fecha y hora definidos por el usuario para December 7, 1958, 8:50 PM, 35 seconds:

Formato Muestra
M/d/yy 12/7/58
d-MMM 7-Dec
d-MMMM-yy 7-December-58
d MMMM 7 December
MMMM yy December 58
hh:mm tt 08:50 PM
h:mm:ss t 8:50:35 P
H:mm 20:50
H:mm:ss 20:50:35
M/d/yyyy H:mm 12/7/1958 20:50

Notas para desarrolladores de Smart Device

La resolución mínima de tiempo para un dispositivo viene determinada por el fabricante del dispositivo. Si la resolución de tiempo del dispositivo es lo suficientemente gruesa, el carácter de f formato devuelve 0 cuando se ejecuta en ese dispositivo.

Se aplica a

Consulte también