主要内容

str2num

将字符数组或字符串转换为数字数组

描述

例子

X= str2num (空空的将字符数组或字符串标量转换为数字矩阵。输入可以包括空格、逗号和分号来指示分隔的元素。如果str2num不能将输入解析为数值,然后返回一个空矩阵。

str2num函数不转换单元格数组或非标量字符串数组,并且对周围的间距敏感+-运营商。

请注意

安全考虑因素:str2num使用eval函数,评估输入参数。在呼唤时str2num对于不受信任的用户输入,验证输入以避免意外的代码执行。不受信任用户输入的例子包括来自您可能不认识的用户或来自您无法控制的源的数据。如果你需要解决这个问题,可以考虑以下方法:

  • 验证输入str2num.首先,搜索允许的操作,例如使用()/+-, 和,以及信件e.然后,如果发现其他操作,则禁止执行。

  • 取代str2num函数,例如str2double

意想不到的副作用:此外,当输入包含函数名时,可能会有其他意想不到的副作用。为了避免这些问题,使用str2double

例子

X特遣部队) = str2num (空空的另外,返回第二个输出参数1真的)如果str2num成功地将空空的.否则,str2num返回0).

例子

全部折叠

转换表示数字的字符向量。

x = str2num(“100”
X = 100
x = str2num('100 200 300 400'
X =1×4100 200 300 400

str2num解释指数表示法。

x = str2num('12e-3 5.9e-3 -8.1e-3 2.56e-3;5 11.2 17.9 33'
X =2×40.0120 0.0059 -0.0081 0.0026 5.000 11.2000 17.9000 33.0000

使用。将字符向量转换为无符号16位整数str2numuint16

x = str2num(“256”);x = uint16(x)
X =uint16256

转换包含的字符矢量真的到逻辑阵列。

x = str2num('虚假真实假'
X =1x4逻辑阵列0 1 1 0

返回转换失败的状态。特遣部队0, 和X是一个空矩阵。

[x,tf] = str2num('12e-3米/秒,5.9e-3米/秒'
X = []
tf =逻辑0

如果你删除多余的文字(米/秒),然后转换成功。

[x,tf] = str2num(“12 e - 3 5.9 e - 3”
X =1×20.0120 - 0.0059
tf =逻辑1

输入参数

全部折叠

数字矩阵的表示形式,指定为字符数组或字符串标量。

表示数字矩阵的文本可以包含空格、逗号或分号,例如“5”10、11、12的,或5, 10, 15年,20的.除了数值和分隔符外,输入文本还可以包括以下任何项:

  • 一个小数点

  • 领先的+或者-迹象

  • 这封信e或者d前一个10倍的比例因子

  • 这封信或者j表示复杂或虚数

  • 真的或者表示逻辑值

空格字符(或缺少空格字符)可能会很重要。例如,str2num(“1 + 2”)str2num(“1 + 2”)两者都返回复数1.0000 + 2.0000我,而str2num(“1 + 2”)返回1 × 2向量[1.0000 + 0.0000i 0.0000 + 2.0000i].为避免此问题,请使用str2double函数。

str2num仅转换字符数组和字符串标量。若要将非标量字符串数组或单元格数组转换为数字数组,请使用str2double函数。

输出参数

全部折叠

输出数组,返回为数字矩阵。

真假结果,作为一个返回1或者0数据类型逻辑

在R2006A之前介绍