0

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

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

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

谢谢。

4

1 回答 1

1

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

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

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

yInt和的结果值yDouble不同。yInt是 6yDouble而是 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
于 2011-10-03T18:12:37.303 回答