Java 在printf方法中,如何使美元符号显示在数值旁边?

Java 在printf方法中,如何使美元符号显示在数值旁边?,java,Java,这是我的密码。我想在每个值旁边打印美元符号 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()); } for(int i=0;i和 \n>代码>。使用\t

这是我的密码。我想在每个值旁边打印美元符号

  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());
    }
for(int i=0;i
刚刚在格式字符串中嵌入了
$

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));
注意,避免在PrimTF内使用<代码> \t\/COD>和<代码> \n>代码>。使用
\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());
}
for(int i=0;i
注意,对于平台特定的测线分离器,建议使用
%n
。用这个代替
\n
。我试着这样做,结果美元符号左对齐,数字右对齐。有没有办法让美元符号留在数字旁边?