Как отформатировать трехзначное целое число с 4-значной строкой?

Я хотел бы отформатировать 3-значный integer до 4-значного значения string. Пример:

int a = 800;
String b = "0800";

Конечно, форматирование будет выполнено в String b. Спасибо, ребята!

Ответ 2

Если вы хотите использовать его только один раз, используйте String.format("%04d", number) - если вам это нужно чаще и хотите централизовать шаблон (например, файл конфигурации), см. ниже решение.

Btw. существует Oracle tutorial при форматировании чисел.

Чтобы сделать это коротко:

import java.text.*;

public class Demo {

   static public void main(String[] args) {
      int value = 123;
      String pattern="0000";
      DecimalFormat myFormatter = new DecimalFormat(pattern);
      String output = myFormatter.format(value);
      System.out.println(output); // 0123
   }
}

Надеюсь, что это поможет. * Jost

Ответ 3

String b = "0" + a;

Может ли быть проще?

Ответ 4

Попробуйте

String.format("%04d", b);

Ответ 5

Вы можете всегда использовать Jodd Printf. В вашем случае:

Printf.str("%04d", 800);

выполнит эту работу. Этот класс был создан до того, как Sun добавил String.format и имеет несколько больше параметров форматирования.