package test;
public class FormatTest
{
public static void main(String[] args)
{
int number1 = 5;
int number2 = 0;
int number3 = -12;
System.out.println("\n------------------ 方法 1 ------------\n");
java.text.DecimalFormat format = new java.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 要格式化的字符串
public static String flushLeft(char c, long l, String string)
{ String str = "";
long cl = 0;
String cs = "";
if (string.length() > l)
str = string;
else
for (int i = 0; i < l - string.length(); i++)
cs = cs + c;
str = string + cs;
return str;
}