javascriptでPMT関数を書いていますがNaNが返ってきてしまいます。
入力フォーム(input type="number")の数値を使って計算結果を表示したいと思います。
//各変数を定義 var ir = $('#interest_rate').val() / 12; var np = $('#periods_number').val() * 12; var pv = $('#present_value').val(); var fv = 20000000; function PMT(ir, np, pv, fv) { var pmt = ( ir * ( pv * Math.pow ( (ir+1), np ) + fv ) ) / ( ( ir + 1 ) * ( Math.pow ( (ir+1), np) -1 ) ); console.log(pmt); return pmt; }
文字が混ざっているのかと思い変数を isNaN
で判定しました。
console.log('isNaN("ir") = ' + Number.isNaN(ir)); console.log('isNaN("np") = ' + Number.isNaN(np)); console.log('isNaN("pv") = ' + Number.isNaN(pv)); console.log('isNaN("fv") = ' + Number.isNaN(fv));
結果はfalseで返ってきておりますので数値であることは確認しております。
ですが PMT関数を実行するとNaNが返ってきてしまいます。
考えられる原因はどういったことがありますでしょうか?
回答4件
あなたの回答
tips
プレビュー