因此,我对Java还是很陌生,并且当前正在尝试创建一个驱动程序类,该类将使用我的Mortgage类来计算抵押。我的所有工作正常,除了我的输出没有将结果格式化为两位小数(0.00),即使我那里有代码。这是我的驱动程序代码:

Mortgage mortgage1 = new Mortgage(annualInterestRate, numOfYears, loanAmount);

  DecimalFormat df = new DecimalFormat("0.00");

  JOptionPane.showMessageDialog(null, "Your Monthly Payment is: "
  + mortgage1.monthlyPayment() + "\n" + "Your Total Payment is: " +
  mortgage1.totalPayment());


它工作得很好,可以输出正确的数字,但是格式不正确。感谢您的帮助。

最佳答案

好吧,您实际上根本没有使用df。您需要将调用monthlyPayment()totalPayment()的结果传递给format方法。例如:

Mortgage mortgage1 = new Mortgage(annualInterestRate, numOfYears, loanAmount);
DecimalFormat df = new DecimalFormat("0.00");
JOptionPane.showMessageDialog(null,
    "Your Monthly Payment is: "
    + df.format(mortgage1.monthlyPayment()) + "\n"
    + "Your Total Payment is: "
    + df.format(mortgage1.totalPayment()));

关于java - 如果使用单独的类,如何用DecimalFormat格式化结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29105229/

10-10 09:20