How to write a value with zeros before the value in matlab?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Farshid Daryabor
el 14 de Nov. de 2016
Comentada: Farshid Daryabor
el 14 de Nov. de 2016
Dear,
how to write/print a value with zeros before the value by the sprintf function, e.g., writing/printing the following form;
test_007120128O.nc
data_013587626O.nc
Regards,
0 comentarios
Respuesta aceptada
Adam
el 14 de Nov. de 2016
Editada: Adam
el 14 de Nov. de 2016
sprintf( '%05.3d', 20 )
for example will pad leading 0s upto the number you specify (5 in this case, including the 20, so 3 additional 0s), but to get what you want depends what exactly you are starting with. If you always want 9 digits then
sprintf( '%09d', yourNumber )
should work
doc sprintf
covers this if you click on the 'formatSpec' hyperlink.
2 comentarios
Adam
el 14 de Nov. de 2016
Editada: Adam
el 14 de Nov. de 2016
In response to what you posted below, the syntax you posted doesn't seem to work at all, to even give what you show, but this works for me:
file=sprintf('%s%s_%09dO.nc', directory,'test',mynumber)
It is the rest of your sprintf format specification and input arguments that appear to not be quite right. For a start you specify 4 distinct fields, but only supply 3 inputs. The final %s that you have should not be there and mynumber should not be in a string.
Más respuestas (1)
Farshid Daryabor
el 14 de Nov. de 2016
1 comentario
Adam
el 14 de Nov. de 2016
Please add as a comment to an answer rather than a new answer as it is less confusing.
Ver también
Categorías
Más información sobre Environment and Settings 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!