% -*- texinfo -*- % @deftypefn {Function File} {[@var{num}, @var{status}, @var{strarray}] =} str2double (@var{str}, @var{cdelim}, @var{rdelim}, @var{ddelim}) % Convert strings into numeric values. % % @code{str2double} can replace @code{str2num}, but avoids the use of % @code{eval} on unknown data. % % @var{str} can be the form @samp{[+-]d[.]dd[[eE][+-]ddd]} in which % @samp{d} can be any of digit from 0 to 9, and @samp{[]} indicate % optional elements. % % @var{num} is the corresponding numeric value. If the conversion % fails, status is -1 and @var{num} is NaN. % % @var{status} is 0 if the conversion was successful and -1 otherwise. % % @var{strarray} is a cell array of strings. % % Elements which are not defined or not valid return NaN and the % @var{status} becomes -1. % % If @var{str} is a character array or a cell array of strings, then % @var{num} and @var{status} return matrices of appropriate size. % % @var{str} can also contain multiple elements separated by row and % column delimiters (@var{cdelim} and @var{rdelim}). % % The parameters @var{cdelim}, @var{rdelim}, and @var{ddelim} are % optional column, row, and decimal delimiters. % % The default row-delimiters are newline, carriage return and semicolon % (ASCII 10, 13 and 59). The default column-delimiters are tab, space % and comma (ASCII 9, 32, and 44). The default decimal delimiter is % @samp{.} (ASCII 46). % % @var{cdelim}, @var{rdelim}, and @var{ddelim} must contain only nul, % newline, carriage return, semicolon, colon, slash, tab, space, comma, % or @samp{[]@{@}} (ASCII 0, 9, 10, 11, 12, 13, 14, 32, 33, 34, 40, % 41, 44, 47, 58, 59, 91, 93, 123, 124, 125). % % Examples: % % @example % @group % str2double ('-.1e-5') % @result{} -1.0000e-006 % % str2double ('.314e1, 44.44e-1, .7; -1e+1') % @result{} % 3.1400 4.4440 0.7000 % -10.0000 NaN NaN % % line = '200, 300, NaN, -inf, yes, no, 999, maybe, NaN'; % [x, status] = str2double (line) % @result{} x = % 200 300 NaN -Inf NaN NaN 999 NaN NaN % @result{} status = % 0 0 0 0 -1 -1 0 -1 0 % @end group % @end example % @seealso{str2num} % @end deftypefn