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。