Conversion to double from cell is not possible.

299 views (last 30 days)
Hi there, I am new in MATLAB and I have this problem "Conversion to double from cell is not possible", I uploaded a matrix with readtable and I delimited with (;). Then It made a matrix of 10200x3, in the third column I have values with "comma" decimal (25,7). I used str2double to change from cell array to double array, but the new value is (257). I would like to get the same value (25,7). Somebody could help me please.
  2 Comments
madhan ravi
madhan ravi on 8 Jul 2020
Mind sharing a screenshot/file of that table ?
Fabian Moreno
Fabian Moreno on 8 Jul 2020
Hello Madhan, I don't mind here I attach the file and the screenshot. Thanks

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 8 Jul 2020
Edited: Adam Danz on 8 Jul 2020
There might be an option in readtable() or within the opts input that can specify what decimal character to use when reading in the data. I looked briefly but couldn't find what I'm imagining but I do recall that such an option exists. That would be the best solution, if possible.
To fix the data described in your question, first replace the commas in column 3 with periods.
% "C" is your cell array
C(:,3) = strrep(C(:,3),',','.');
then proceed with str2double.
d = str2double(C(:,3));
For tables
T.Var3 = strrep(T.Var3,',','.');
T.Var3 = str2double(T.Var3);
  3 Comments
Adam Danz
Adam Danz on 8 Jul 2020
That's because your data is not a cell array. It's a table.
I've updated my answer.

Sign in to comment.

More Answers (1)

Fabian Moreno
Fabian Moreno on 8 Jul 2020
I have one more question, when I Convert strings to double precision values, the result is a number like this (23.700). I'm trying to take out the extra zeros with (round). But the zeros continue there. Any suggestion to eliminate the zeros?.
  6 Comments

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!