我一直在搜寻互联网两天的大部分时间,以寻找具有类似于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;


yIntyDouble的结果值不同。 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/

10-12 02:03