Compartir a través de


Core.Printf (Módulo de F#)

Formato extensible de tipo printf para números y otros tipos de datos.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Core

Ensamblado: FSharp.Core (en FSharp.Core.dll)

module Printf

Comentarios

Las especificaciones de formato son cadenas con marcadores % que indican los marcadores de posición de formato. Los marcadores de posición de formato se componen de %[flags][width][.precision][type], donde el tipo se interpreta de la manera indicada en la siguiente tabla:

Tipo

Descripción

%b

Da formato a un tipo bool, con el formato true o false.

%s

Da formato a un tipo string, con el formato de su contenido sin interpretar ningún carácter de escape.

%d, %i

Da formato a cualquier tipo entero básico con formato de entero decimal, con signo si el tipo entero básico tiene signo.

%u

Da formato a cualquier tipo entero básico con formato de entero decimal sin signo.

%x

Da formato a cualquier tipo entero básico con formato de entero hexadecimal sin signo, utilizando las minúsculas desde la a hasta la f.

%X

Da formato a cualquier tipo entero básico con formato de entero hexadecimal sin signo, utilizando las mayúsculas desde la A hasta la F.

%o

Da formato a cualquier tipo entero básico con formato de entero octal sin signo.

%e, %E, %f, %F, %g, %G

Da formato a cualquier tipo de punto flotante básico (float, float32) al que se aplica formato usando las especificaciones de formato de punto flotante de C.

%e, %E

Da formato a un valor con signo que tiene el formato [-]d.dddde[sign]ddd, donde d es un único dígito decimal, dddd es uno o más dígitos decimales, ddd es exactamente tres dígitos decimales y el signo es + o -.

%f

Da formato a un valor con signo que tiene el formato [-]dddd.dddd, donde dddd es uno o más dígitos decimales. El número de dígitos que hay delante del separador decimal depende de la magnitud del número y el número de dígitos que hay detrás del separador decimal depende de la precisión solicitada.

%g, %G

Da formato a un valor con signo en formato f o e, lo que sea más compacto para el valor y la precisión especificados.

%M

Da formato a un valor Decimal.

%O

Da formato a cualquier valor, que se imprime aplicando la conversión boxing al objeto y usando su método ToString.

%A

Da formato a cualquier valor público, que se imprime con la configuración de diseño predeterminada. El formulario %+A se puede usar para imprimir el valor de los datos no públicos. Los tipos de clase y estructura aparecen igual que con %O, independientemente de si se utiliza %+A o %A.

%a

Un especificador de formato general necesita dos argumentos. El primer argumento es una función que acepta dos argumentos: en primer lugar, un parámetro de contexto del tipo adecuado para la función de formato especificada (por ejemplo, un objeto TextWriter), y en segundo lugar, un valor para imprimir y que muestra o devuelve el texto adecuado.

El segundo argumento es el valor concreto que se va a imprimir.

%t

Un especificador de formato general necesita un argumento: una función que acepta un parámetro de contexto del tipo adecuado para la función de formato especificada (un objeto TextWriter) y que muestra o devuelve el texto adecuado. Los tipos enteros básicos son: byte, sbyte, int16, uint16, int32, uint32, int64, uint64, nativeint y unativeint. Los tipos de punto flotante básicos son: float y float32.

El ancho opcional es un entero que indica el ancho mínimo del resultado. Por ejemplo, %6d imprime un entero, prefijándolo con espacios en blanco para rellenar al menos 6 caracteres. Si el ancho es *, se toma un argumento entero adicional para especificar el ancho correspondiente.

Las marcas válidas se describen en la tabla siguiente.

0

Especifica que se agreguen ceros en lugar de espacios para obtener el ancho necesario.

-

Especifica que se justifique a la izquierda el resultado dentro del ancho especificado.

+

Especifica que se agregue un carácter + si el número es positivo (como correspondencia a un signo - en el caso de números negativos).

Cuando se utiliza con %A, especifica que se impriman los valores no públicos.

' ' (espacio)

Especifica que se agregue un espacio adicional si el número es positivo (como correspondencia a un signo - en el caso de números negativos).

#

No válido.

Abreviaturas de tipo

Tipo

Descripción

tipo BuilderFormat<'T,'Result>

Representa un formato analizado estáticamente asociado a la escritura en un objeto StringBuilder. El primer parámetro de tipo indica los argumentos de la operación de formato y el último indica el tipo devuelto global.

tipo BuilderFormat<'T>

Representa un formato analizado estáticamente asociado a la escritura en un objeto StringBuilder. El parámetro de tipo indica los argumentos y el tipo devuelto de la operación de formato.

tipo StringFormat<'T,'Result>

Representa un formato analizado estáticamente cuando la aplicación de formato compila una cadena. El primer parámetro de tipo indica los argumentos de la operación de formato y el último indica el tipo devuelto global.

tipo StringFormat<'T>

Representa un formato analizado estáticamente cuando la aplicación de formato compila una cadena. El parámetro de tipo indica los argumentos y el tipo devuelto de la operación de formato.

tipo TextWriterFormat<'T,'Result>

Representa un formato analizado estáticamente asociado a la escritura en un objeto TextWriter. El primer parámetro de tipo indica los argumentos de la operación de formato y el último indica el tipo devuelto global.

tipo TextWriterFormat<'T>

Representa un formato analizado estáticamente asociado a la escritura en un objeto TextWriter. El parámetro de tipo indica los argumentos y el tipo devuelto de la operación de formato.

Valores

Valor

Descripción

bprintf : StringBuilder -> BuilderFormat<'T> -> 'T

Imprime en un StringBuilder.

eprintf : TextWriterFormat<'T> -> 'T

Imprime el resultado con formato en stderr.

eprintfn : TextWriterFormat<'T> -> 'T

Imprime el resultado con formato en stderr, agregando una línea nueva.

failwithf : StringFormat<'T,'Result> -> 'T

Imprime en un búfer de cadena e inicia una excepción con el resultado obtenido. Las impresoras auxiliares deben devolver cadenas.

fprintf : TextWriter -> TextWriterFormat<'T> -> 'T

Imprime en un escritor de texto.

fprintfn : TextWriter -> TextWriterFormat<'T> -> 'T

Imprime en un escritor de texto, agregando una línea nueva.

kbprintf : (unit -> 'Result) -> StringBuilder -> BuilderFormat<'T,'Result> -> 'T

Como bprintf, pero llama a la función especificada para generar el resultado. Vea kprintf.

kfprintf : (unit -> 'Result) -> TextWriter -> TextWriterFormat<'T,'Result> -> 'T

Como fprintf, pero llama a la función especificada para generar el resultado. Vea kprintf.

kprintf : (string -> 'Result) -> StringFormat<'T,'Result> -> 'T

Como printf, pero llama a la función especificada para generar el resultado. Por ejemplo, esto permite a la impresión forzar un vaciado una vez introducido en el canal todo el resultado, pero no antes.

ksprintf : (string -> 'Result) -> StringFormat<'T,'Result> -> 'T

Como sprintf, pero llama a la función especificada para generar el resultado. Vea kprintf.

printf : TextWriterFormat<'T> -> 'T

Imprime el resultado con formato en stdout.

printfn : TextWriterFormat<'T> -> 'T

Imprime el resultado con formato en stdout, agregando una línea nueva.

sprintf : StringFormat<'T> -> 'T

Imprime en una cadena mediante un búfer de cadena interno y devuelve el resultado como una cadena. Las impresoras auxiliares deben devolver cadenas.

Plataformas

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Información de versiones

Runtime de F#

Se admite en las versiones: 2.0, 4.0

Silverlight

Se admite en las versiones: 2, 3

Vea también

Referencia

Microsoft.FSharp.Core (Espacio de nombres de F#)

Historial de cambios

Fecha

Historial

Motivo

1 de abril de 2011

Se agregó información sobre %+A.

Comentarios de los clientes.