我一直在使用Java进行编码分配以显示各种输入的工资单时遇到问题。该代码(如下所示)使用扫描仪输入功能作为这些“员工”输入其信息的方法,并向其打印出工资单。目前,这是我拥有的代码:
System.out.println("------------------------------------------");
System.out.print("Gross Pay: " + "$");
System.out.printf("%.2f", grossPay);
System.out.print("\nRetirement: " + "$");
System.out.printf(" %.2f", retirementFund);
System.out.print("\nTax: " + "$");
System.out.printf("%.2f", tax);
System.out.print("\n------------------------");
System.out.print("\nNet Pay: " + "$");
System.out.printf("%.2f", netPay);
System.out.print("\n==========================================");
我具体遇到的问题是基于此编码,此案例输出存在问题:
------------------------------------------
Gross Pay: $7160.40
Retirement: $ 372.34
Tax: $1900.66
------------------------
Net Pay: $4887.40
==========================================
是正确的,但是这种情况:
------------------------------------------
Gross Pay: $0.00
Retirement: $ 0.00
Tax: $0.00
------------------------
Net Pay: $0.00
==========================================
是错误的,应该是:
------------------------------------------
Gross Pay: $ 0.00
Retirement: $ 0.00
Tax: $ 0.00
------------------------
Net Pay: $ 0.00
==========================================
我实现了退休空间编码,因为它在mimir教室中获得了最正确的结果,但是这种情况是错误的。 如何编码打印功能以格式化显示格式
Gross Pay: $####.##
Retirement: $####.##
Tax: $####.##
等
答案 0 :(得分:0)
对于printf()函数,您需要指定数字的宽度及其精度。因此,您的标记必须为“%7.2f”,才能打印6位数字和一个小数点的数字。该数字将右对齐,并带有前导空格。