这个示例演示了如何将数值转换为文本,并将它们附加到更大的文本片段中。例如,您可能想要向一个地块添加标签或标题,其中标签包含一个数字,用于描述该地块的特征。
在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)
有时现有文本存储在字符向量或字符向量的单元格数组中。然而,+
当另一个操作数是字符串时,操作符也会自动将这些类型的数据转换为字符串。若要将数值与这些类型的数据组合,请首先将数值转换为字符串,然后使用+
结合文本。
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 x
和0 b
前缀。但是,有时将这些值表示为文本很有用,使用dec2hex
或dec2bin
功能。
例如,在二进制值中设置一个位。如果使用文字指定二进制值,则将其存储为整数。设置一个位后,使用dec2bin
函数。
注册= 0 b10010110
注册=uint8150
= bitset注册(注册5 0)
注册=uint8134
binStr = dec2bin(注册)
binStr = ' 10000110 '