我正在尝试使用printf打印百分号。 当我使用以下内容时:
System.out.printf("%-3d%%\n",10);
System.out.printf("%-3d%%\n",100);
System.out.printf("%-3d%%\n",0);
我最终得到了:
10 %
100%
0 %
我如何实现以下
10% - 1 space after % sign
100% - no space
0% - 2 spaces after % sign
有什么想法吗?
答案 0 :(得分:2)
试
System.out.printf("%-4.4s\n",10 + "%");
System.out.printf("%-4.4s\n",100+ "%");
System.out.printf("%-4.4s\n",0+ "%");
可以通过
验证 System.out.printf("%-4.4s|\n",10 + "%");
System.out.printf("%-4.4s|\n",100 + "%");
System.out.printf("%-4.4s|\n",0+ "%");
产生
10% |
100%|
0% |
答案 1 :(得分:1)
尝试使用DecimalFormat ..
DecimalFormat df=new DecimalFormat("###'%'");
System.out.printf("%s\n",df.format(10));
System.out.printf("%s\n",df.format(1));
System.out.printf("%s\n",df.format(100));