# Conversion to double from cell is not possible.

18 views (last 30 days)
Fabian Moreno on 8 Jul 2020
Commented: Adam Danz on 10 Jul 2020
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 CommentsShowHide 1 older comment
Fabian Moreno on 8 Jul 2020
Hello Madhan, I don't mind here I attach the file and the screenshot. Thanks

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);
Adam Danz on 8 Jul 2020
That's because your data is not a cell array. It's a table.

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?.
Adam Danz on 10 Jul 2020