Using save() and -ascii format to limit output numbers to 2 decimals

105 views (last 30 days)
Hello All, I need help with save() command. here is the extract of my code:
save(fullfile(PathName,filename),'x','-ascii');
Where x is a column of 120 values upto 2 decimal points.
Now what I am getting with above code is 4.7300000e+01 which I want to limit to 47.30 only. I know they are one of same but I have another script which reads only 47.30 kind of format. So even though both are same I have to restrict it to 2 decimals only.
So is there any way to do that?

Accepted Answer

Stephen23
Stephen23 on 7 Jun 2017
Edited: Stephen23 on 7 Jun 2017
Method one: fprintf:
fnm = fullfile(PathName,filename);
fid = fopen(fnm,'wt');
fprintf(fid,'%.2f\n',x);
fclose(fid);
Method two: dlmwrite:
dlmwrite(fnm,x,'precision','%.2f')
  6 Comments
adi kul
adi kul on 7 Jun 2017
Please check this question:
https://in.mathworks.com/matlabcentral/answers/343722-how-to-change-default-message-box-when-using-xlsread-filename-1
Jabbar moosavi
Jabbar moosavi on 7 Feb 2020
Edited: Jabbar moosavi on 7 Feb 2020
I've same question ,the reference data has 3 columns " x,y and pixel values" but this code save the data under "x".I want all the values in the same columns .
so how can I do that ?

Sign in to comment.

More Answers (1)

Do Hieu Trinh
Do Hieu Trinh on 15 Apr 2021
Dear Stephen,
Do you know a trick which works for saving data into .m file using matlab.io.saveVariablesToScript?
Best regards,
Do Hieu.

Community Treasure Hunt

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

Start Hunting!