目录
str2double函数是将字符串转换为双精度值。
语法
X = str2double(str)
str表示数值的文本,它可以指定位字符向量、字符向量元胞数组或字符串数组。
说明
X = str2double(str)将str中的文本转换为双精度值。str包含表示实数或复数值的文本。str可以是字符向量、字符向量元胞数组或字符串数组。如果str是字符向量或字符串标量,则X是数值标量。如果str 是字符向量元胞数组或字符串数组,则X是与str具有相同大小的数值数组。
表示数值的文本可以包含数字、逗号(千位分隔符)、小数点、前导 +
或 -
符号、以 10 为缩放因子的幂前面的e以及复数单位的i或j。不能使用句点作为千位分隔符或使用逗号作为小数点。如果str2double不能将文本转换为数值,则它将返回NaN 值。
示例
将字符向量转换为数值
将表示数值的字符向量转换为双精度值。还可以将字符向量元胞数组转换为相同大小的数值数组。如下所示的转换及代码:
(1)将字符向量转换为实数。
X = str2double('3.1416')
X = 3.1416
(2)转换使用指数记数法表示数值的字符向量
X = str2double('2.998e8')
X = 299800000
(3)转换使用逗号作为千位分隔符的字符向量
X = str2double('1,200.34')
X = 1.2003e+03
(4)将字符向量转换为复数
X = str2double('3.14 + 2.7i')
X = 3.1400 + 2.7000i
(5)将字符向量元胞数组转换为数值
str = {'2.718','3.1416';
'137','0.015'};
X = str2double(str)
X = 2×2
2.7180 3.1416
137.0000 0.0150
将字符串数组转换为数值数组
从 R2016b 开始,可以使用string函数创建字符串数组。可以使用str2double
函数将字符串转换为数值。
(1)创建表示数值的字符串。将其转换为数值标量
str = string('81470.5')
str =
"81470.5"
X = str2double(str)
X = 8.1471e+04
(2)创建表示数值的字符串数组。将其转换为大小相同的数值数组
str = string({'91.57','95.95','3.57';
'79.22','65.57','84.91'})
str = 2x3 string
"91.57" "95.95" "3.57"
"79.22" "65.57" "84.91"
X = str2double(str)
X = 2×3
91.5700 95.9500 3.5700
79.2200 65.5700 84.9100