Difficulties converting E-001

1 次查看(过去 30 天)
Anne
Anne 2024-7-4
Hi,
I'm importing an excel file to Matlab where example 45E-001 is divided into two column so A[1,1]= 45 and B[1,1]=E-001. "A" comes in as a double and "B" as a cell and when I'm trting to use str2double I only get Nan in each row. I would like to be able to do C = A .* B and that C[1,1] = 4.5.
Thank you
  1 个评论
Stephen23
Stephen23 2024-7-4
@Anne: please upload a sample data file by clicking the paperclip button.

请先登录,再进行评论。

回答(2 个)

Andreas Goser
Andreas Goser 2024-7-4
I am a big fan of giving interactive importing a try. Try the import tool. One of the best functionalities is you can generate a function from that so you can repeat this interactive importing. In your case, you will likely need a few lines of postprocessing you can simply add to the auto-generated function.

Walter Roberson
Walter Roberson 2024-7-4
Insert a leading '1' before each of the exponentials, and then multiply the pairs together.
format long g
T = table([45; 17], {'E-001'; 'E+002'});
result = T.Var1 .* str2double(insertBefore(T.Var2, 1, '1'))
result = 2x1
1.0e+00 * 4.5 1700
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Community Treasure Hunt

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

Start Hunting!

Translated by