How do you add a 0 in front of single digit numbers in a numerical array?

17 vues (au cours des 30 derniers jours)
Marissa Holden
Marissa Holden le 10 Oct 2017
Commenté : Rik le 11 Oct 2017
I later want to convert 2 numerical arrays into a string array and then back to a numerical array to combine a series of numbers. HOWEVER - to do this the numbers need to have the same amount of integers otherwise I get an empty matrix.
So my question is, how would I tell matlab to put a 0 in front a singular numbers in a 1x56 numerical array so all the numbers have the same amount of digits?
  6 commentaires
Marissa Holden
Marissa Holden le 11 Oct 2017
Could I make another string variable that put a 0 in front of the single digits and then put that into a numerical array?
per isakson
per isakson le 11 Oct 2017
There is no such thing as leading zeros when it comes to numerical variables. Leading zeros in the string variable will vanish when "put that into a numerical".
Try to formulate your question/problem in other words.

Connectez-vous pour commenter.

Réponses (1)

Rik
Rik le 10 Oct 2017
num2str, fprintf and sprintf all have options to specify a format when converting a numeric value to a string.
a=num2cell(1:10);
b=cellfun(@(x) sprintf('%02d',x),a,'UniformOutput',false);
  2 commentaires
Jan
Jan le 11 Oct 2017
Or the undocumented:
b = sprintfc('%02d', a);
Rik
Rik le 11 Oct 2017
Cool, that's even 20 times faster. Not strange, as you remove a lot of overhead.

Connectez-vous pour commenter.

Catégories

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

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by