str2double breaks when you pass in a vector?

this works:
double = str2double('06012015');
but this doesn't:
doubles = str2double(['06012015' '06022015']);
whos doubles gives me this:
-------
6.0120e+14
Name Size Bytes Class Attributes
doubles 1x1 8 double
-------

댓글 수: 1

Jan
Jan 2016년 12월 28일
['06012015' '06022015'] is the same as '0601201506022015' .

댓글을 달려면 로그인하십시오.

답변 (2개)

KSSV
KSSV 2016년 12월 28일

2 개 추천

str1 = str2double([{'106012015'} {'06022015'}])
str2 = str2num(['06012015' ;'06022015'])

댓글 수: 2

59morgan
59morgan 2016년 12월 28일
thanks for your help
what I really want to do is this:
%start with a date times vector
datetimes = [datetime('06/01/2015') ; datetime('06/02/2015')];
%now remove any kind of punctuation, we just want digits
date_strings = datestr(datetimes, 'mmddyyyy');
%now convert those char arrays to doubles? docs say you can pass in a char array vector...
doubles = str2double(date_strings);
%problem: the date strings get concatenated and it doesn't work
str2double( cellstr(date_strings) )

댓글을 달려면 로그인하십시오.

Sean de Wolski
Sean de Wolski 2016년 12월 28일

0 개 추천

In >=R2016b, you can just call double on the string directly:
double(string({'06012015' '06022015'}))

카테고리

도움말 센터File Exchange에서 Data Type Conversion에 대해 자세히 알아보기

태그

질문:

2016년 12월 28일

댓글:

2016년 12월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by