How to write a value with zeros before the value in matlab?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Farshid Daryabor
le 14 Nov 2016
Commenté : Farshid Daryabor
le 14 Nov 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 commentaires
Réponse acceptée
Adam
le 14 Nov 2016
Modifié(e) : Adam
le 14 Nov 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 commentaires
Adam
le 14 Nov 2016
Modifié(e) : Adam
le 14 Nov 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.
Plus de réponses (1)
Farshid Daryabor
le 14 Nov 2016
1 commentaire
Adam
le 14 Nov 2016
Please add as a comment to an answer rather than a new answer as it is less confusing.
Voir également
Catégories
En savoir plus sur Startup and Shutdown 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!