Borrar filtros
Borrar filtros

Writing a string that fills to the left

5 visualizaciones (últimos 30 días)
James Browne
James Browne el 23 de Mayo de 2021
Comentada: James Browne el 25 de Mayo de 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,

Respuesta aceptada

Scott MacKenzie
Scott MacKenzie el 23 de Mayo de 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 comentario
James Browne
James Browne el 25 de Mayo de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by