MATLAB: Format numbers in txt

arrayconvertformatMATLABtxt

R2=R;
R2(R2==2) = 0.25;
R2(R2==1) = 0.15;
fid = fopen('porosity.txt','wt');
if fid > 0
fprintf(fid,'%d\n',R2');
fclose(fid);
end
When I write the array to a txt file, the format of the values change. From 0.15 to 1.500000e-01 How to keep the initial format 0.15 ?
Thank you.

Best Answer

The ‘%d’ format descriptor writes integers, and since ‘0.15’ is not an integer, it defaults to an exponential format.
Try this:
fprintf(fid,'%.2f\n',R2');
The ‘%f’ format descriptor writes either fixed-width or variable-width floating point numbers, depending on what you want. See the documentation on fprintf for details.