24

I would like to format a 3-digit integer to a 4-digit string value. Example:

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

Of course the formatting will be done at String b statement. Thanks guys!

4

5 回答 5

57

使用String#format

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

对于其他格式,请参阅文档

于 2013-07-17T10:10:43.477 回答
5

如果您只想使用一次String.format("%04d", number)- 如果您更频繁地需要它并且想要集中模式(例如配置文件),请参阅下面的解决方案。

顺便提一句。有一个关于数字格式的 Oracle教程。

简而言之:

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
   }
}

希望有帮助。*约斯特

于 2013-07-17T10:19:26.137 回答
3
String b = "0" + a;

会不会更容易?

于 2013-07-17T10:10:02.020 回答
2

Please try

String.format("%04d", b);
于 2013-07-17T10:12:49.987 回答
0

为此,您始终可以使用Jodd Printf。在你的情况下:

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

会做的工作。这个类是在 Sun 添加之前创建的,String.format并且有更多的格式化选项。

于 2013-07-17T10:20:34.703 回答