2017-10-14 47 views
0

我在java中制作了一个随机的成绩簿生成器,我想用printf定期在行中打印属性。而且我有一个双变量,我无法用%d打印它。下面是我的代码示例:双printf和在java中使用printf对齐

double average; 
ArrayList<Double> average1=new ArrayList<Double>(); 

//for loop 
System.out.printf("%s%10s%10d%5d%5d%5d%5d%15f%10s\n",name1.get(j),lastname1.get(j),quiz1.get(j),quiz2.get(j),project.get(j),midterm.get(j),final.get(j),average.get(j),lettergrade.get(j)); 

首先2线输出:

Ypu MBQLCKU  33 53 54 20 81  48,000000   D 
Pgkff  YDH   1 35 55 40 56  37,000000   D 
//.....so on so forth 

我想安排他们喜欢的:

Ypu  MBQLCKU  33 53 54 20 81  48,00   D 
Pgkff YDH   1 35 55 40 56  37,00   D 

而且%F给了我这么多0之后的逗号。我需要确切的双号打印像57,34。我应该在这个printf代码的左边改变什么?

回答

0

如果你想限制来小数点后使用以下格式号码:

double y=25.1299; 
System.out.printf("y=%.2f ",y); 

凡2号为您提供了2位的小数点后的数字来。