文本转换为数值

这个例子显示了如何将文本转换为数字值,它代表。通常情况下,你需要执行这样的转换,当你有一个表示要绘制或计算中使用的数字文本。例如,文本可能来自一个文本文件或电子表格。如果您尚未它在将它导入MATLAB®时转换为数值,您可以使用此示例中显示的功能。

您可以将字符串数组,特征向量和特征向量为数值的单元阵列。文字可以代表十六进制或二进制值,但是当你把它们转换成数字它们被存储为十进制值。您也可以将文本转换表示日期和时间约会时间要么持续时间值,其可以像数值进行处理。

双精度值

推荐的方法将文本转换为双精度值是使用str2double功能。它可以转换特征向量,字符串数组和特征向量的电池阵列。

例如,使用单引号创建一个字符向量并将其转换为它所代表的数。

X = str2double('3.1416'
X = 3.1416

如果输入参数是一个字符串数组或字符向量的单元阵列,然后str2double将其转换为具有相同大小的一个数字数组。您可以使用双引号的字符串。(字符串有数据类型,而字符矢量具有烧焦数据类型。)

海峡= [“2.718”“3.1416”;“137”“0.015”]
海峡=2×2串“2.718”, “3.1416”, “137”, “0.015”
X = str2double(STR)
X =2×22.7180 3.1416 0.0150 137.0000

str2double功能可以将文本转换,包括逗号(作为千位分隔符)和小数点。例如,你可以使用str2double转换的平衡变量下表中。平衡代表的数字为字符串,用逗号作为千位分隔符。

加载结余结余
余额=3×2表客户余额_________ ___________“迪亚兹”“13,790.00”,“强生”,“2,456.10”,“吴”“923.71”
T.Balance = str2double(T.Balance)
T =3×2表客户余额_________ _______“迪亚兹” 13790“约翰逊” 2456.1“吴” 923.71

如果str2double不能将文本转换为数字,则返回一个为NaN值。

虽然str2num功能还可以将文本转换为数字,它是推荐的。str2num使用EVAL函数,这可能会导致意想不到的副作用当文本输入包括函数名。为了避免这些问题,使用str2double

作为替代方案,可以使用字符串转换为双精度值功能。如果输入是一个字符串数组,然后返回具有相同的大小,只是作为一个数字数组str2double确实。然而,如果输入是一个字符向量然后,转换单个字符为数字代表他们的Unicode值。

X =双(“3.1416”
X = 3.1416
X =双('3.1416'
X =1×651 46 49 52 49 54

该列表总结了将文本转换为数字值的最佳实践。

  • 将文本转换为数字值,使用str2double功能。它把字符串数组,字符向量,并一致字符向量的单元阵列。

  • 您也可以使用函数为字符串数组。然而,它把人物的载体不同。

  • 避免str2num。它调用EVAL功能,可以产生意想不到的后果。

十六进制和二进制值

你可以代表十六进制和二进制数为文本或文字。当你写他们的文字,您必须使用0X0B前缀。当你代表他们的文本,然后将其转换,您可以使用前缀,但它们不是必需的。

例如,写一个十六进制数作为文字。前缀是必需的。

d = 0x3FF处
d =UINT161023

通过使用代表相同的值再转换文本HEX2DEC功能。它可以识别的前缀,而并不需要它。

d = HEX2DEC('3FF'
d = 1023
d = HEX2DEC('0x3FF对'
d = 1023

代表使用二进制值转换文本BIN2DEC功能。

d = BIN2DEC('101010'
d = 42
d = BIN2DEC('0b101010'
d = 42

日期和时间

MATLAB提供约会时间持续时间数据类型来存储日期和时间,并把它们当作数值。要转换代表日期和时间文本,使用约会时间持续时间功能。

表示日期的文本转换约会时间值。该约会时间功能识别日期和时间的许多常见格式。

C =“二○一九年九月二十○日”
C = '二○一九年九月二十○日'
d =日期时间(C)
d =约会时间20九月2019

你可以转换代表日期和时间排列。

海峡= [“2019年1月31日”“2019年2月28日”“2019年3月31日”]
海峡=1×3串“2019年1月31日”,“2019年2月28日”,“2019年3月31日”
d =日期时间(STR)
d =1×3日期时间31-JAN-2019 28-FEB-2019 31-MAR-2019

如果你将文本转换为持续时间值,然后使用HH:MM:SS要么DD:HH:MM:SS格式。

d =持续时间('12:34:56'
d =持续时间12:34:56

也可以看看

||||||

相关话题