我为一个执行单利和复利计算的学术项目编写了一个程序。我遇到的问题是,如果数字没有除零以外的其他值作为“美分”(即,它不显示小数点——如果金额为例如 1750.00,它将显示),计算的单利会被截断最高为 1750),即使我在我的复利和单利方法中都使用了 DecimalFormat!
我已经广泛地调试了这个项目,我真的不知道到底发生了什么。
该计划的相关摘录如下:
double p=1.0; // just some sample values for p, r, and y.
double r=2.0;
double y=3.0;
double calculatedInterest = p + (p*(r/100)*y);
String output = new String("Computed Simple Interest is: $");
output = output + new DecimalFormat("#.##").format(calculatedInterest);
return output;
我在这里有完整的程序:
[编辑] 故事的寓意:如果您不阅读遇到问题或不理解的类的 JavaDoc,那么您将度过一段糟糕的时光。符号模式#.## 不仅仅是 DecimalFormat 的通用包罗万象,不同的符号模式做不同的事情。就我而言,有必要将 #.## 更改为 0.00 以查看我想要的十进制数字。非常感谢 jpe。