2015-05-07 3 views
0

Я хочу сделать именно то, что находится на this question, но вместо того, чтобы дать фиксированное количество левых нулей, чтобы иметь возможность указать фиксированное количество цифр, число которых иметь в общей сложности.Переменная количество левых нулей в строке Matlab

Например, если у меня есть номер 32, и имеет длину 4, результат должен быть:

0032 

Но если на наоборот у меня есть номер 122, то только один 0 должны быть проложенными :

0122 

любые идеи о том, как добиться этого на Matlab эффективно? sprintf?

+1

я не получаю разница с другим вопросом. Это точно то же самое. Я думаю, вы неправильно поняли, что ответ в другом вопросе на самом деле делает, но он делает то, что вы хотите. – thewaywewalk

+0

@thewaywewalk извините за мою неуклюжесть –

+0

не волнуйтесь, вот для чего нужна дублирующая функция :) – thewaywewalk

ответ

2

Вы можете использовать string formatting в num2str, а также в sprintf:

num2str(122, '%04d'); 

или

sprintf('%04d', 32); 
4

Это покидающий площадку до 4 0s

sprintf('%04d', some_value); 
+1

более быстрый gun;) kudos. – Shai

+1

Было близко, я просто избавился от своего ответа и поднял свой. Но ты удалил свой быстрее ... :) –