Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. B3 = 100
  2. B4 = 10
  3. B5 = B4*12
  4. B6 = 12
  5. B7 = 3
  6. B8 = (1+B6)^(1/12)-1
  7. B9 = ABS(FV(B8,B5,B3/(1+B7),,1)) // and here lies the problem
  8.  
  9. B3 = 100 1 1 2
  10. B4 = 10 1 2 2
  11. B9 = 21,751.06 12.39 26.28 52.55
  12.  
  13. function FV(rate, nper, pmt, pv, type) {
  14. var pow = Math.pow(1 + rate, nper),
  15. fv;
  16. if (rate) {
  17. fv = (pmt*(1+rate*type)*(1-pow)/rate)-pv*pow;
  18. } else {
  19. fv = -1 * (pv + pmt * nper);
  20. }
  21. return fv.toFixed(2);
  22. }
  23.  
  24. function checkNumber(input, min, max, msg)
  25.  
  26. {
  27.  
  28. msg = msg + " field has invalid data: " + input.value;
  29.  
  30.  
  31.  
  32. var str = input.value;
  33.  
  34. for (var i = 0; i < str.length; i++) {
  35.  
  36. var ch = str.substring(i, i + 1)
  37.  
  38. if ((ch < "0" || "9" < ch) && ch != '.') {
  39.  
  40. alert(msg);
  41.  
  42. return false;
  43.  
  44. }
  45.  
  46. }
  47.  
  48. var num = 0 + str
  49.  
  50. if (num < min || max < num) {
  51.  
  52. alert(msg + " not in range [" + min + ".." + max + "]");
  53.  
  54. return false;
  55.  
  56. }
  57.  
  58. input.value = str;
  59.  
  60. return true;
  61.  
  62. }
  63.  
  64.  
  65.  
  66. function computeField(input)
  67.  
  68. {
  69.  
  70. if (input.value != null && input.value.length != 0)
  71.  
  72. input.value = "" + eval(input.value);
  73.  
  74. computeForm(input.form);
  75.  
  76. }
  77.  
  78.  
  79.  
  80. function computeForm(form)
  81.  
  82. {
  83.  
  84. if ((form.payments.value == null || form.payments.value.length == 0) ||
  85.  
  86. (form.interest.value == null || form.interest.value.length == 0) ||
  87.  
  88. (form.principal.value == null || form.principal.value.length == 0)) {
  89.  
  90. return;
  91.  
  92. }
  93.  
  94.  
  95.  
  96. if (!checkNumber(form.payments, 1, 480, "# of payments") ||
  97.  
  98. !checkNumber(form.interest, .001, 99, "Interest") ||
  99.  
  100. !checkNumber(form.principal, 1, 10000000, "Principal")) {
  101.  
  102. form.fv.value = "Invalid";
  103.  
  104. return;
  105.  
  106. }
  107.  
  108.  
  109.  
  110. var i = form.interest.value;
  111.  
  112. if (i > 1.0) {
  113.  
  114. i = i / 100.0;
  115.  
  116. form.interest.value = i;
  117.  
  118. }
  119.  
  120. i /= 12;
  121.  
  122.  
  123. var pow = form.principal.value;
  124.  
  125. for (var j = 0; j < form.payments.value *12; j++)
  126.  
  127. pow = (pow * i) + (pow *1);
  128.  
  129. form.fv.value = pow
  130.  
  131. form.totalint.value = (form.fv.value - form.principal.value)
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement