how to convert num to string ?

4 次查看(过去 30 天)
I have data in one column as follows
x =
[22]
'22 .8 '
[30]
'39 .6 '
[44]
[48]
'49 .6 '
'50 .8 '...
how do I convert to a string?
I have tried using str2double (x) but it displays the results
Nan
22.8000
Nan
39.6000
Nan
Nan
49.6000
50.8000
I am confused when in one data there are 2 different data, namely ('x' and [x])..
I am very grateful to those who have been kind enough to help me
Regards
Jan

采纳的回答

KSSV
KSSV 2019-4-30
x = { [22]
'22 .8 '
[30]
'39 .6 '
[44]
[48]
'49 .6 '
'50 .8 '} ;
idx = cellfun(@ischar,x) ;
y = cellfun(@num2str,x(~idx),'un',0)
x(~idx) = y ;
x

更多回答(1 个)

Andrei Bobrov
Andrei Bobrov 2019-4-30
x ={...
[22]
'22 .8 '
[30]
'39 .6 '
[44]
[48]
'49 .6 '
'50 .8 '};
lo = cellfun(@ischar,x);
out = zeros(size(x));
out(~lo) = cell2mat(x(~lo));
out(lo) = str2double(regexprep(x(lo),'\s',''));

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by