MATLAB 字符串函数参考

MATLAB str2double 函数把字符串转成双精度数字。从文本里取出数值时常用它。

语法

x = str2double(str)

输入参数

参数说明
str文本:单个字符串,或 cell 数组(逐个转换)

输出

x:双精度数值。无法解析的输入返回 NaN(不会报错)。

示例

str2double('3.14')
ans = 3.1400

批量转换 cell 数组(含非法文本得 NaN):

str2double({'1.5', '2', 'abc'})
ans =
    1.5000    2.0000       NaN

把文本文件读出的数字列转成数组:

lines = {'10'; '20'; '30'};
vals = str2double(lines)
vals =
    10
    20
    30

判断是否有非法值:

vals = str2double({'1', 'x'});
any(isnan(vals))
ans = 1

注意事项

  • 无法解析返回 NaN 而非报错,务必用 isnan 检查;
  • str2num 区别:str2double 更快更安全(不执行表达式),处理纯数字文本优先用它;
  • 支持科学计数法,如 '1e3' 得 1000。