是否有支持 NPER 函数的 NPER 或金融函数库?
这两天我一直在网上搜寻一个具有与 Excel 类似功能的 JAVA 金融库,尤其是 NPER。我最接近的是这里的一个:NPER 公式,除非我在此处将其输入解算器:数学计算器使用以下内容:
((√((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库来执行这样的计算?
谢谢。
I've been scouring the internet for the better part of two days looking for a JAVA financial library that has functions similar to Excel's, particularly NPER. the closest thing I've come to is the one here:NPER formula, except when I type that into a solver here:math calculator using the following:
((√((80*(1+.13*1)+(-1/.13)*0)/((3000*.13+80)*(1+.13*1)))/√(1+.13)))*100
I get a different number than what excel gives me. The values I'm using are 3000$ owed, 13% interest, 80$ monthly payment. Excel and calculators online indicate 49 months (48.3 rounded up), but that formula gives me 39.4 months. Does anyone know of a java library I can implement in my code to perform calculations like this?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
算术错误可能是因为 Java 使用整数数学。整数数学在每次运算后将值向下舍入,从而完全忽略小数点。考虑以下代码:
yInt
和yDouble
的结果值不同。yInt
为 6,而yDouble
为 7.5。在代码中,您应该通过附加小数位将整数值转换为双精度数或浮点数。像这样:
The arithmetic errors are probably because Java is using Integer math. Integer math completely disregards the decimal point by rounding down the value after each operation. Consider the following code:
The resulting values of
yInt
andyDouble
are different.yInt
is 6 whileyDouble
is 7.5.In your code you should convert the integer values to doubles or floats by appending decimal places. like this: