主要内容

将数值转换为文本

这个示例演示了如何将数值转换为文本,并将它们附加到更大的文本片段中。例如,您可能想要向一个地块添加标签或标题,其中标签包含一个数字,用于描述该地块的特征。

转换为字符串

在R2016b之前,转换为字符向量使用num2str

要将数字转换为表示它的字符串,请使用字符串函数。

str =字符串(π)
str = " 3.1416 "

字符串函数将数字数组转换为具有相同大小的字符串数组。

A = [256 pi 8.9e-3];str = string ()
str =1 x3字符串“256”“3.141593”“0.0089”

属性指定输出文本的格式组成函数,它接受用于精度、字段宽度和指数表示法的格式说明符。

str =组成(“% 9.7 f”π)
str = " 3.1415927 "

如果输入是数字数组,则组成返回一个字符串数组。返回一个用指数表示法表示数字的字符串数组。

A = [256 pi 8.9e-3];str =组成(“% 5.2 e”,)
str =1 x3字符串“2.56 e + 02”“3.14 e + 00”“8.90 e 03”

向字符串中添加数字

在R2016b之前,将数字转换为字符向量,并用括号连接字符,[]

组合文本和数字的最简单的方法是使用+操作符(+).当其他操作数为字符串时,该操作符自动将数值转换为字符串。

例如,绘制一个正弦波。计算波的频率,并在图的标题中添加表示该值的字符串。

X = linspace(0, 2 *π);Y = sin (X);plot(X,Y) freq = 1/(2*pi);str =“正弦波,频率=”+频率+“赫兹”
str = "正弦波,频率= 0.15915 Hz"
标题(str)

图中包含一个轴对象。标题为“Sine Wave, Frequency = 0.15915 Hz”的轴对象包含一个类型为line的对象。

有时现有文本存储在字符向量或字符向量的单元格数组中。然而,+当另一个操作数是字符串时,操作符也会自动将这些类型的数据转换为字符串。若要将数值与这些类型的数据组合,请首先将数值转换为字符串,然后使用+结合文本。

str ='正弦波,频率= '+ string(freq) + {“赫兹”
str = "正弦波,频率= 0.15915 Hz"

字符编码

如果数据包含表示Unicode®值的整数,则使用字符函数将值转换为相应的字符。输出是字符向量或数组。

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

转换Unicode值还允许在文本中包含特殊字符。例如,度符号的Unicode值是176。添加char (176)对于字符串,使用+

度= char (176);temp = 21;str =温度:“+ temp + deg +“C”
str = "温度:21°C"

R2016b之前,使用num2str将数值转换为字符向量,然后连接。

str = [的温度:num2str(临时)度“C”
str = '温度:21°C'

十六进制和二进制值

自从R2019b

您可以使用text或using在代码中表示十六进制和二进制值文字.推荐的表示它们的方法是将它们写成文字。属性可以编写十六进制和二进制字面值0 x0 b前缀。但是,有时将这些值表示为文本很有用,使用dec2hexdec2bin功能。

例如,在二进制值中设置一个位。如果使用文字指定二进制值,则将其存储为整数。设置一个位后,使用dec2bin函数。

注册= 0 b10010110
注册=uint8150
= bitset注册(注册5 0)
注册=uint8134
binStr = dec2bin(注册)
binStr = ' 10000110 '

另请参阅

|||||

相关的话题