Преобразование ведущей 0 строки в целое число в Java - PullRequest
1 голос
/ 02 марта 2012

У меня есть следующая строка в моем классе Java

String str="0000000000008";

Теперь я хочу увеличить это так, чтобы следующее значение было 0000000000009

Для этой цели я попытался привести эту строкуstr в Integer

Integer i=Integer.parseFloat(str)+1;

, и когда я печатаю значение i, он печатает только 17 (так как он удаляет первые 0 из строки во время приведения).

Как я могу увеличить значение String, чтобы первые 0 остались, а серия продолжилась?

Ответы [ 2 ]

7 голосов
/ 02 марта 2012

Практическое решение - используйте String.format:

str = String.format("%013d", Long.parseLong(str)+1);
5 голосов
/ 02 марта 2012

Вы на правильном пути. Первый разбор до Long:

long cur = Long.parseLong("0000000000008");

увеличить и отформатировать обратно до String с начальным 0 с:

new java.text.DecimalFormat("0000000000000").format(cur + 1);

или альтернативно:

String.format("%013d", Long.valueOf(cur));
...