Effacer les filtres
Effacer les filtres

Writing a string that fills to the left

3 vues (au cours des 30 derniers jours)
James Browne
James Browne le 23 Mai 2021
Commenté : James Browne le 25 Mai 2021
Hi,
I have data in an array wich I want to output into a text file to match the way another program writies it.
The program seems to write the data with the right most number in a specific column and then fills to the left. So it is like:
Item one: 2.3 15.1 78.1
Item two: 1254.1 678.1 54283.1
I am using and fprintf statment something like:
fprintf(fid,"Item one: %d %d %d,A,B,C)
Using this method, it puts the numbers after a set of spaces and fills to the right, as if you were typing it. The behavour I want is to be able to get it to fill to the left so the rightmost column always lines up.
Is there a way to do that?
Thanks,

Réponse acceptée

Scott MacKenzie
Scott MacKenzie le 23 Mai 2021
You need to include a field width in the format specifier.
An example for integers:
fprintf(fid, 'Item one: %8d %8d %8d', A, B, C);
An example for reals with 1 decimal place:
fprintf(fid, 'Item one: %8.1f %8.1f %8.1f', A, B, C);
Full details are here.
  1 commentaire
James Browne
James Browne le 25 Mai 2021
Great, thankyou!
I can see from that help you can also left justify the field width by using a '-' sign but still have the padding effect that I wanted.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by