2011-10-03 79 views
-1

我一直在寻找具有类似于Excel的功能的JAVA金融函数库,特别是NPER,在两天的好时间里搜寻互联网。我来最接近的是这里的一个:NPER formula,除了当我键入到这里求解:math calculator使用下列内容:是否有支持NPER功能的NPER或财务功能库?

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

我得到比擅长给了我一个不同的数字。我使用的价值是3000美元,13%的利息,80美元的每月付款。在线Excel和计算器显示49个月(48.3取整),但该公式给我39.4个月。有谁知道我可以在我的代码中执行这样的计算的java库吗?

谢谢。

回答

1

算术错误可能是因为Java正在使用整数数学。整数数学运算完成后,将小数点四舍五入后完全忽略小数点。考虑下面的代码:

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 
+0

我还没有在java中做过任何事情,我在网上使用了一个求解器,并在公式中输入以匹配另一个链接中提供的公式。我可能会尝试以编程方式执行该等式,但我想确保我拥有与在线金融计算器显示的匹配的正确公式。拥有一个具有NPER功能的Java库将为我节省大量的工作。 –

+0

看起来像这样的作品:http://www.ehow.com/how_2154015_calculate-term-investment-using-microsoft.html我只是比较结果与2个在线计算器,他们匹配 –

相关问题