Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

num2str

Convertir números a array de caracteres

Descripción

ejemplo

s = num2str(A) convierte una matriz numérica en una matriz de caracteres que representa los números. El formato de salida depende de las magnitudes de los valores originales. num2str es útil para etiquetar y titulación de parcelas con valores numéricos.

ejemplo

s = num2str(A,precision) devuelve una matriz de caracteres que representa los números con el número máximo de dígitos significativos especificados por precision.

ejemplo

s = num2str(A,formatSpec) aplica un formato especificado por formatSpec a todos los elementos de A.

Ejemplos

contraer todo

Convierta los valores de coma flotante devueltos por pi y eps a vectores de caracteres.

s = num2str(pi)
s = 
'3.1416'
s = num2str(eps)
s = 
'2.2204e-16'

Especifique el número máximo de dígitos significativos para los valores de coma flotante.

A = gallery('normaldata',[2,2],0);
s = num2str(A,3)
s = 2x16 char array
    '-0.433     0.125'
    ' -1.67     0.288'

Especifique el ancho, la precisión y el otro formato para una matriz de valores de punto flotante.

A = gallery('uniformdata',[2,3],0) * 9999;
s = num2str(A,'%10.5e\n')
s = 2x35 char array
    '9.50034e+03...'
    '2.31115e+03...'

El formato '%10.5e' imprime cada valor en formato exponencial con cinco posiciones decimales y '\n' imprime un nuevo carácter de línea.

Argumentos de entrada

contraer todo

Array de entrada, especificado como una matriz numérica.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Soporte de números complejos:

Número máximo de dígitos significativos en la cadena de salida, especificada como un entero positivo.

Nota

Si especifica precision para exceder la precisión del tipo de datos de punto flotante de entrada, los resultados podrían no coincidir con los valores de entrada con la precisión especificada. El resultado depende del hardware de su computadora y del sistema operativo.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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 valorConversiónDetalles

Entero, firmado

o

Base 10

Entero, no firmada

%u

Base 10

%o

Base 8 (octal)

%x

Base 16 (hexadecimal), letras en minúscula af

%X

Igual que %x, mayúsculas AF

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 el prefijo 0, 0x, o 0X.

    • Para %f, %eo %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: %#5.0f

  • 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, %eo %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:

  • Texto ordinario a imprimir.

  • Caracteres especiales que no se pueden introducir como texto ordinario. En esta tabla se muestra cómo representar caracteres especiales en formatSpec.

    Carácter especial

    Representación

    Marca de comilla única

    ''

    Carácter porcentual

    %%

    Barra invertida

    \\

    Alarma

    \a

    Retroceso

    \b

    Feed de formularios

    \f

    Nueva línea

    \n

    Retorno de carro

    \r

    Solapa horizontal

    \t

    Ficha vertical

    \v

    Carácter cuyo valor numérico Unicode® puede representar el número hexadecimal, N

    \xN

    Ejemplo: sprintf('\x5A') devuelve 'Z'

    Carácter cuyo valor numérico Unicode se puede representar por el número octal, N

    \N

    Ejemplo: sprintf('\132') devuelve 'Z'

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

Argumentos de salida

contraer todo

Representación de texto de la matriz de entrada, devuelta como una matriz de caracteres.

Sugerencias

num2str no acepta identificadores posicionales en el argumento de entrada formatSpec . Por ejemplo, num2str([14 15],'%2$X %1$o) devuelve un error.

Los identificadores posicional especifican el orden en el que el operador de formato procesa los argumentos de entrada de la función, no los elementos de una matriz de entrada. Cuando se llama a num2str, sólo hay un argumento de entrada que tiene números que convertir.

Algoritmos

num2str recorta cualquier espacio de interlineado de una matriz de caracteres, incluso cuando formatSpec incluye un marcador de carácter de espacio. Por ejemplo, num2str(42.67,'% 10.2f') devuelve una matriz de caracteres de 1 por 5 '42.67'.

Consulte también

| | | |

Introducido antes de R2006a