Заполнение числа нулями - PullRequest
0 голосов
/ 12 августа 2010

Допустим, у меня есть номер 345, который я хочу получить, чтобы в итоге я получил 0345. Т.е.

int i = 0345;

Как я могу взять существующее число и сдвинуть его вперед или добавить 0.

Ответы [ 2 ]

4 голосов
/ 12 августа 2010

Я знаю, что вы говорите о int, но, возможно, вам нужно набрать число с ведущими 0. Быстрый способ - статический метод String.format.

int num = 345;    
String.format("%04d", num);

вернется:

"0345"

4d говорит, что нужно добавить 0 слева, если у него меньше 4 цифр, так что вы можете изменить его на 5, и это даст вам:

"00345"
1 голос
/ 12 августа 2010

Использование 0 в начале числа при объявлении его означает, что оно восьмеричное, поэтому 0345 - это фактически 229 в десятичном виде. Я не уверен, как вы ожидаете добавить ноль к числу, используя побитовые операции, которые работают с двоичным представлением числа. Если вы хотите добавить его в десятичное представление, это ничего не будет значить, поскольку число всегда хранится в двоичном формате, а значение для вашего удобства преобразуется в десятичное при отображении. При любых вычислениях десятичное значение не имеет значения, только двоичное.

Если вас интересует только отображение значения с 0 в начале, то вы можете добавить 0 к строке, содержащей это число, что можно легко сделать следующим образом "0" + i.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...