为常见的是对数字进行右对齐输出,比如右对齐,左补0.例如:数字12,格式化为0012,数字123,格式化为0123.
下面是实现该需求的两种方法,利用了java本身的格式化功能。
packagetest;
publicclassFormatTest
{
publicstaticvoidmain(String[] args)
{
intnumber1 =5;
intnumber2 =0;
intnumber3 = -12;
System.out.println("\n------------------ 方法 1 ------------\n");
java.text.DecimalFormat format =newjava.text.DecimalFormat("0000");
System.out.println(format.format(number1));
System.out.println(format.format(number2));
System.out.println(format.format(number3));
System.out.println("\n------------------ 方法 2 ------------\n");
// 0 代表前面补充0
// 4 代表长度为4
// d 代表参数为正数型
String str1 = String.format("%04d", number1);
String str2 = String.format("%04d", number2);
String str3 = String.format("%04d", number3);
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
}
}
下面这段代码,可以处理字符串的右对齐输出,可以自定义补充的字符(不仅限于0),可以自定义补充后字符串的长度。
// c 要填充的字符
// l 填充后字符串的总长度
// string 要格式化的字符串
publicstaticString flushLeft(charc,longl, String string)
{
String str ="";
longcl =0;
String cs ="";
if(string.length() > l)
str = string;
else
for(inti =0; i
cs = cs + c;
str = string + cs;
returnstr;
}