這是我的代碼。我希望美元符號能打印在每個值的旁邊。如何讓美元符號顯示在printf方法的數值旁邊?
for(int i = 0; i < enrollment.size(); i++)
{
System.out.println(enrollment.get(i).toString());
System.out.printf("\tTuition: %17.2f \n",enrollment.get(i).calcTuition());
}
這是我的代碼。我希望美元符號能打印在每個值的旁邊。如何讓美元符號顯示在printf方法的數值旁邊?
for(int i = 0; i < enrollment.size(); i++)
{
System.out.println(enrollment.get(i).toString());
System.out.printf("\tTuition: %17.2f \n",enrollment.get(i).calcTuition());
}
就使嵌入的$
格式字符串:
System.out.printf("\tTuition: $%17.2f \n",enrollment.get(i).calcTuition());
的一種方法是使用的NumberFormat貨幣實例
NumberFormat currencyIntance = NumberFormat.getCurrencyInstance();
double tuition = enrollment.get(i). calcTuition();
System.out.printf("%8s: %9s%n", "Tuition", currencyInstance.format(tuition));
注意,可以考慮使用\t
和\n
內避免你的的printf。使用\t
和%n
的格式說明符寬度代替\n
。
試試這個:
for (int i = 0; i < enrollment.size(); i++) {
System.out.println(enrollment.get(i).toString());
System.out.printf("\tTuition: %s \n", String.format("%17.2f",
enrollment.get(i).calcTuition()).trim());
}
注意,[java.util.Formatter中API(http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html )建議對平臺特定的行分隔符使用'%n'。用這個代替'\ n'。 –
我試過這樣做,美元符號結束了左對齊和數字右對齊。有沒有辦法讓美元符號停留在數字旁邊? –