Formato de los campos de salida, especificados mediante operadores de formato. formatSpec
también puede incluir texto ordinario y caracteres especiales.
formatSpec
puede ser un vector de caracteres en comillas simples o, a partir de R2016b, un escalar de cadena.
Operador de formato
Un operador de formato comienza con un signo de porcentaje, %
y termina con un carácter de conversión. Se requiere el carácter de conversión. Opcionalmente, puede especificar identificadores, marcadores, ancho de campo, precisión y operadores de subtipos entre %
y el carácter de conversión. (los espacios no son válidos entre los operadores y se muestran aquí sólo para legibilidad).
Carácter de conversión
Esta tabla muestra los caracteres de conversión para formatear datos numéricos y de caracteres como texto.
Tipo de valor | Conversión | Detalles |
---|
Entero, firmado | o | Base 10 |
Entero, no firmada | %u
| Base 10 |
%o
| Base 8 (octal) |
%x
| Base 16 (hexadecimal), letras en minúscula a –f |
%X
| Igual que %x , mayúsculas A –F |
Número de punto flotante | %f
| Notación de punto fijo (utilice un operador de precisión para especificar el número de dígitos después del punto decimal.) |
%e
| Notación exponencial, como 3.141593e+00 (utilice un operador de precisión para especificar el número de dígitos después del punto decimal). |
%E
| Igual que %e , pero en mayúsculas, como 3.141593E+00 (utilice un operador de precisión para especificar el número de dígitos después del punto decimal). |
%g
| El más compacto de %e o %f , sin ceros que se arrastran (utilice un operador de precisión para especificar el número de dígitos significativos.) |
%G
| El más compacto de %E o %f , sin ceros que se arrastran (utilice un operador de precisión para especificar el número de dígitos significativos.) |
Caracteres o cadenas | %c
| Carácter único |
%s
| Vector de caracteres o matriz de cadenas. El tipo del texto de salida es el mismo que el tipo de formatSpec . |
Operadores opcionales
Los operadores de identificador, indicadores, ancho de campo, precisión y subtipos opcionales definen aún más el formato del texto de salida.
Identificador
Para procesar los argumentos de entrada de función. Utilice la sintaxis n
$
, donde n
representa las posiciones de los otros argumentos de entrada de la llamada a la función.
Ejemplo: ('%3$s %2$s
%1$s %2$s','A','B','C')
imprime argumentos de entrada 'A'
, 'B'
, 'C'
de la siguiente manera: C B A B
.
Nota: Si un argumento de entrada es una matriz, no puede utilizar identificadores para especificar elementos de matriz concretos a partir de ese argumento de entrada.
Banderas
'–'
| Izquierdo-justifique.
Ejemplo: Ejemplo: |
'+'
| Imprima siempre un carácter de signo (+ o –) para cualquier valor numérico.
Ejemplo: %+5.2f
Derecho-justifique el texto.
Ejemplo: %+10s |
' '
| Inserte un espacio antes del valor.
Ejemplo: % 5.2f |
'0'
| Pad a ancho de campo con ceros antes del valor.
Ejemplo: %05.2f |
'#'
| Modificar las conversiones numéricas seleccionadas: Para %o , %x o %X , imprime 0 , 0x , o 0X prefijo. Para %f , %e o %E , imprima el punto decimal incluso cuando la precisión sea 0. Para %g o %G , no elimine los ceros que se arrastran ni el punto decimal.
Ejemplo: |
Ancho de campo
Número mínimo de caracteres que se imprimirán. El operador de ancho de campo puede ser un número o un asterisco (*
) para hacer referencia a un argumento de entrada.
Ejemplo: Los argumentos de entrada ('%12d',intmax)
son equivalentes a ('%*d', 12, intmax)
.
Las teclas de función a ancho de campo con espacios antes del valor a menos que los marcadores especifiquen lo contrario.
Precision
Para %f , %e o %E | Número de dígitos a la derecha del punto decimal
ejemplo: '%.4f' imprime pi como '3.1416' |
Para %g o %G | Número de dígitos significativos
ejemplo: '%.4g' imprime pi como '3.142' |
El operador de precisión puede ser un número, o un asterisco (*
) para hacer referencia a un argumento.
Ejemplo: Los argumentos de entrada ('%6.4f',
pi)
son equivalentes a ('%*.*f', 6, 4, pi)
.
Nota
Si especifica un operador de precisión para valores de punto flotante que exceda la precisión del tipo de datos numéricos de entrada, los resultados podrían no coincidir con los valores de entrada a la precisión especificada. El resultado depende del hardware de su computadora y del sistema operativo.
Subtipos
Puede utilizar un operador de subtipo para imprimir un valor de punto flotante como valor octal, decimal o hexadecimal. El operador de subtipos precede inmediatamente al carácter de conversión. Esta tabla muestra las conversiones que pueden utilizar subtipos.
Tipo de valor de entrada | Subtipo y carácter de conversión | Tipo de valor de salida |
---|
Número de punto flotante | o | Hexadecimal de doble precisión, octal o valor decimal
ejemplo: %bx imprime pi como 400921fb54442d18 |
o | Hexadecimal de precisión simple, octal o valor decimal
ejemplo: %tx imprime pi como 40490fdb |
Texto antes o después de los operadores de formato
formatSpec
también puede incluir texto adicional antes de un signo de porcentaje, %
o después de un carácter de conversión. El texto puede ser:
Comportamiento notable de las conversiones con los operadores de formato
Las conversiones numéricas sólo imprimen el componente real de números complejos.
Si especifica una conversión que no se ajusta a los datos, como una conversión de texto para un valor numérico, MATLAB® reemplaza la conversión especificada y utiliza %e
.
Ejemplo: '%s'
convierte pi
a 3.141593e+00
.
Si se aplica una conversión de texto (ya sea %c
o %s
) a valores enteros, MATLAB convierte valores que corresponden a códigos de caracteres válidos a caracteres.
Ejemplo: '%s'
convierte [65
66 67]
a ABC
.
Tipos de datos: char
| string