Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

数据类型转换

在数值数组、字符串和字符数组、日期和时间、元胞数组、结构体或表之间转换

MATLAB® 有许多函数可将值从一种数据类型转换为另一种数据类型,以用于不同的上下文。例如,您可以将数字转换为文本,然后将其附加到绘图标签或文件名。您可以将数字表示为其十六进制或二进制值。MATLAB 提供了用于在数值数组、字符串和字符数组以及 categoricaldatetimeduration 数组之间转换的函数。另外,您可以在通过容器进行数据分组的数据类型之间转换,例如元胞数组、结构体、表和时间表。在这类情况下,数据值保持不变,但是它们将在不同类型的容器中存储和访问。

函数

全部展开

将数字转换为文本

string字符串数组
char字符数组
cellstr转换为字符向量元胞数组
int2str将整数转换为字符
mat2str将矩阵转换为字符
num2str将数字转换为字符数组

将文本转换为数字

str2double将字符串转换为双精度值
str2num将字符数组或字符串转换为数值数组
native2unicode将数值字节转换为 Unicode 字符表示形式
unicode2nativeUnicode 字符表示形式转换为数值字节
base2dec将以 n 为基数的整数的文本表示转换为双精度值
bin2dec将二进制整数的文本表示转换为双精度值
dec2base将十进制整数转换为其 n 进制表示形式
dec2bin将十进制整数转换为其二进制表示形式
dec2hex将十进制整数转换为其十六进制表示形式
hex2dec将十六进制整数的文本表示转换为双精度值
hex2numIEEE 十六进制格式转换为双精度数
num2hex将单精度数和双精度数转换为 IEEE 十六进制格式

将值转换为日期和时间

datetime表示时间点的数组
duration固定长度单位的时间长度

将日期和时间转换为文本

string字符串数组
char字符数组
cellstr转换为字符向量元胞数组

分类数组

categorical数组,包含分配给类别的值

table2array将表转换为同构数组
table2cell将表转换为元胞数组
table2struct将表转换为结构体数组
array2table将同构数组转换为表
cell2table将元胞数组转换为表
struct2table将结构体数组转换为表

时间表

array2timetable将同构数组转换为时间表
table2timetable将表转换为时间表
timetable2table将时间表转换为表
cell2mat将元胞数组转换为基础数据类型的普通数组
cell2struct将元胞数组转换为结构体数组
mat2cell将数组转换为在元胞中包含子数组的元胞数组
num2cell将数组转换为相同大小的元胞数组
struct2cell将结构体转换为元胞数组

主题

将文本转换为数值

将文本转换为数值数组。文本可以表示浮点值、日期和时间,以及十六进制和二进制数字。如果文本表示日期和时间,则可以将文本转换为日期时间或持续时间值。

将数值转换为文本

将数值转换为文本。文本可以表示浮点值,其格式可以使用或不使用指数记数法,也可以使用十六进制或二进制数字。使用这些转换将数值添加到绘图标签或标题之类的文本中。

Unicode 和 ASCII 值

MATLAB 将所有字符存储为 Unicode 字符。字符串和字符向量使用相同的编码。您可以将字符转换为其 Unicode 代码值,将数字转换为字符。

十六进制和二进制值

将十六进制和二进制值指定为字面值或文本。十六进制和二进制字面值以整数形式存储。您可以将表示十六进制和二进制值的文本转换为数字,以及将数字转换为文本表示。

在日期时间数组、数值和文本之间转换

虽然 datetime 是建议的用于表示时间点的数据类型,但是您可能需要处理以日期字符串、日期向量和日期序列值方式存储的日期与时间。

将表变量中的文本转换为分类数组

以下示例演示了如何将表中的变量从字符向量元胞数组转换为分类数组。

不同类的有效合并

如果您在矩阵中纳入了不同类的元素,MATLAB 会转换一些元素,以使生成的矩阵的所有元素都为同一类型。数据类型转换与预设的类优先级相关。