我一直在搜寻互联网两天的大部分时间,以寻找具有类似于Excel的功能(特别是NPER)的JAVA金融库。我来到的最接近的东西是这里:NPER formula,但当我在这里使用以下命令将其输入到求解器中时:math calculator:
((√((80*(1+.13*1)+(-1/.13)*0)/((3000*.13+80)*(1+.13*1)))/√(1+.13)))*100
我得到的数字不同于excel给我的数字。我使用的值为欠款3000 $,利息13%,每月还款80 $。 Excel和在线计算器指示49个月(四舍五入为48.3),但是该公式为我提供了39.4个月。有谁知道我可以在我的代码中实现这样的计算的Java库?
谢谢。
最佳答案
算术错误可能是因为Java使用的是Integer数学。整数数学在每次操作后都舍入该值,从而完全忽略了小数点。考虑以下代码:
int xInt = 5;
int yInt = (xInt/2) * 3;
double xDouble = 5;
double yDouble = (xDouble/2) * 3;
yInt
和yDouble
的结果值不同。 yInt
是6,而yDouble
是7.5。在您的代码中,您应该通过附加小数位将整数值转换为双精度或浮点型。像这样:
double val1 = (5/2)*3; // this equals 6, Don't do this
double val2 = (5.0/2.0)*3.0 // this equals 7.5, instead do this
关于java - 是否有支持NPER功能的NPER或财务功能库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7638802/