Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Convertir valores numéricos a texto

Este ejemplo muestra cómo convertir valores numéricos a texto y añadirlos a fragmentos de texto más grandes. Por ejemplo, es posible que desee añadir una etiqueta o titulación a una gráfica, donde la etiqueta incluye un número que describe una característica de la gráfica.

Convertir a cadenas

Para convertir un número a una cadena que lo represente, utilice la función string.

str = string(pi)
str = 
"3.1416"

La función string convierte un arreglo numérico a un arreglo de cadenas del mismo tamaño.

A = [256 pi 8.9e-3];
str = string(A)
str = 1x3 string
    "256"    "3.141593"    "0.0089"

Puede especificar el formato del texto de salida utilizando la función compose, que acepta especificadores de formato para la precisión, la anchura de campo y la notación exponencial.

str = compose("%9.7f",pi)
str = 
"3.1415927"

Si la entrada es un arreglo numérico, entonces compose devuelve un arreglo de cadenas. Devuelva un arreglo de cadenas que represente números que utilicen la notación exponencial.

A = [256 pi 8.9e-3];
str = compose("%5.2e",A)
str = 1x3 string
    "2.56e+02"    "3.14e+00"    "8.90e-03"

Agregar números a cadenas

La forma más sencilla de combinar texto y números es utilizar el operador plus (+). Este operador convierte automáticamente valores numéricos en cadenas cuando los otros operandos son cadenas.

Por ejemplo, represente una onda sinusoidal. Calcule la frecuencia de la onda y añada una cadena que represente ese valor en el título de la gráfica.

X = linspace(0,2*pi);
Y = sin(X);
plot(X,Y)
freq = 1/(2*pi);
str = "Sine Wave, Frequency = " + freq + " Hz"
str = 
"Sine Wave, Frequency = 0.15915 Hz"
title(str)

Figure contains an axes object. The axes object with title Sine Wave, Frequency = 0.15915 Hz contains an object of type line.

En ocasiones, el texto existente se almacena en vectores de caracteres o arreglos de celdas de vectores de caracteres. Sin embargo, el operador plus también convierte automáticamente esos tipos de datos a cadenas cuando otro operando es una cadena. Para combinar valores numéricos con esos tipos de datos, primero convierta los valores numéricos a cadenas y, después, utilice plus para combinar el texto.

str = 'Sine Wave, Frequency = ' + string(freq) + {' Hz'}
str = 
"Sine Wave, Frequency = 0.15915 Hz"

Códigos de caracteres

Si sus datos contienen enteros que representan valores Unicode®, utilice la función char para convertir los valores a los caracteres correspondientes. La salida es un vector de caracteres o un arreglo.

u = [77 65 84 76 65 66];
c = char(u)
c = 
'MATLAB'

Al convertir valores Unicode también puede incluir caracteres especiales en texto. Por ejemplo, el valor Unicode para el símbolo del grado es 176. Para agregar char(176) a una cadena, utilice plus.

deg = char(176);
temp = 21;
str = "Temperature: " + temp + deg + "C"
str = 
"Temperature: 21°C"

Valores binarios y hexadecimales

Puede representar valores hexadecimales y binarios en su código utilizando texto o literales. La forma recomendada de representarlos es escribirlos como literales. Se pueden escribir literales hexadecimales y binarios utilizando los prefijos 0x y 0b respectivamente. Sin embargo, en ocasiones puede resultar útil representar dichos valores como texto, utilizando las funciones dec2hex o dec2bin.

Por ejemplo, establezca un bit en un valor binario. Si especifica el valor binario utilizando un literal, entonces se almacena como un entero. Después de establecer uno de los bits, muestre el nuevo valor binario como texto utilizando la función dec2bin.

register = 0b10010110
register = uint8
    150
register = bitset(register,5,0)
register = uint8
    134
binStr = dec2bin(register)
binStr = 
'10000110'

Consulte también

| | | | |

Temas relacionados