2011-10-03 3 views
-1

私は2日間でExcelの、特にNPERに似た機能を持つJAVA金融ライブラリを探しているうちに、インターネットを精査してきました。 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; 

yIntの値とyDoubleが異なります。 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つのオンライン電卓と結果を比較しました。 –