关于 java:是否有支持 NPER 函数的 NPER 或金融函数库?

Is there an NPER or financial function library available that supports NPER functions?

我在网上搜索了两天的大部分时间,寻找一个功能类似于 Excel 的 JAVA 金融库,尤其是 NPER。我最接近的是这里的一个:NPER 公式,除非我在这里将它输入到求解器中:使用以下公式的数学计算器:

1
((a??((80*(1+.13*1)+(-1/.13)*0)/((3000*.13+80)*(1+.13*1)))/a??(1+.13)))*100

我得到的数字与 excel 给我的数字不同。我使用的价值是 3000 美元的欠款,13% 的利息,80 美元的每月付款。 Excel 和在线计算器显示 49 个月(四舍五入),但这个公式给了我 39.4 个月。有谁知道我可以在我的代码中实现一个 java 库来执行这样的计算?

谢谢。


算术错误可能是因为 Java 使用的是整数数学。整数数学通过在每次运算后舍入值来完全忽略小数点。考虑以下代码:

1
2
3
4
5
int xInt = 5;
int yInt = (xInt/2) * 3;

double xDouble = 5;
double yDouble = (xDouble/2) * 3;

yIntyDouble 的结果值不同。 yInt 是 6,而 yDouble 是 7.5。

在您的代码中,您应该通过附加小数位将整数值转换为双精度数或浮点数。像这样:

1
2
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