Pad a character array with n zeros
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I know there are formatting tools to pad a certain number of zeros to a number when printing it -- I may be able to use that in some way. But my situation is this: I have binary strings encoded as character arrays: '101010101', etc. I need to have the bit strings to be of a certain length. For example, if that length was 10, '101' would need seven zeros padded on the front: '0000000101', and '111111111' would need one zero padded on the front: '0111111111'.
Is there a quick way where I can have that number of zeros needed (10-numel(num)) padded on the front?
PS - I love the de2bi function where you can specify the number of bits but I am creating really long bit strings and that function only works for numbers less than 2^53-1.
0 comentarios
Respuestas (2)
Walter Roberson
el 3 de Feb. de 2012
>> sprintf('%010s', '101')
ans =
0000000101
This is a little obscure but works just fine.
Alternately,
S = '101';
[repmat('0', 1, 10 - length(S)], S]
4 comentarios
Sean de Wolski
el 3 de Feb. de 2012
To pad a single string:
sprintf('%010s','11');
To pad a cell array of string:
C = {'010';'1';'0111';'01010101'};
D = cellfun(@(x)sprintf('%010s',x),C,'uni',false);
0 comentarios
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices 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!