作为一个更大程序的一部分,我有这个函数,当被调用时,它会返回返回的字符串。accountHolder、balance、interestRate 和 points 是 RewardsCreditAccount 类型的对象中的变量。因此,例如,我在这里声明一个对象:
RewardsCreditAccount testAccount = new RewardsCreditAccount("Joe F. Pyne", 7384.282343837483298347, 0.173, 567);
所以这个对象会设置 accountHolder = "Joe F. Pyne", balance = 7384.282343837483298347,等等。
在下面的函数中,我以如下所示的字符串返回此信息:
Joe F. Pyne,7384.282 美元,17.28%,567 分
使用此功能:
public String toString() {
return (accountHolder + ", $" + + balance + 100*interestRate + "%, " + points + " points");
}
然而,它实际上是在返回这个:
Joe F. Pyne,7384.282 美元,17.299999999999997%,567 分
我试过这个,但没有用
public String toString() {
return (accountHolder + ", $" + + ("%,1.2f",balance) + 100*interestRate + "%, " + points + " points");
}
这很烦人,因为我希望它只返回两位小数。我知道这可以使用 %1.2f 来完成,但我不知道如何格式化它的语法。对于正确显示十进制值的任何帮助,我将不胜感激。谢谢!