bas7advr.hlp (Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
NPV# Function Details
  Syntax  Details  Example                 Contents  Index  Back
─────────────────────────────────────────────────────────────────────────────
NPV# returns the net present value of an investment based on a series of
periodic cash flows and on a discount rate.
 
NPV# (rate#, valuearray#(), valuecount%, status%)
    ■ The argument rate# is the interest rate per period. For example,
      if you get a car loan at a 10% annual interest rate and make monthly
      payments, the rate per period would be .10/12, or .0083.
    ■ The argument valuearray#() must contain at least one negative value
      (a payment) and one positive value (a receipt).
    ■ The argument status% can be any variable that returns information
      about the success or failure of the calculation. The value of status%
      will be 0 if the calculation was successful, and 1 if it was not.
 
Usage Notes
    ■ The net present value of an investment is today's value of a future
      series of payments (negative values) and receipts (positive values).
    ■ The cash flow values must be equally spaced in time and occur at the
      end of each period.
    ■ NPV# uses the order of values within the array to interpret the order
      of cash flows. Be sure to enter your payment and receipt values in
      the correct sequence.
    ■ The NPV# investment begins one period before the date of the first
      cash flow value and ends with the last cash flow in the list.
    ■ The NPV# calculation is based on future cash flows. If your first
      cash flow occurs at the beginning of the first period, the first
      value must be added to the NPV# result, not included in the cash
      flow values of valuearray#().
    ■ The formula for NPV# is found in the BASIC Language Reference manual.
 
Important
    ■ To use NPV# in the QBX environment, use the FINANCER.QLB Quick
      library. To use NPV# outside the QBX environment, link your program
      with the appropriate FINANCxx.LIB file. Depending on the compiler
      options you chose when you installed BASIC, one or more of the
      following files will be available:
 
           Filename         Compiler options
           ════════════     ═════════════════════════════════════════════
           FINANCER.LIB     80x87 or emulator math; DOS or OS/2 real mode
           FINANCAR.LIB     Alternate math; DOS or OS/2 real mode
           FINANCEP.LIB     80x87 or emulator math, OS/2 protected mode
           FINANCAP.LIB     Alternate math; OS/2 protected mode
 
    ■ The FINANC.BI header file contains the necessary function
      declarations for NPV#.
    ■ For more information on using libraries, see "Creating and Using
      Quick Libraries" and "Using LINK and LIB" in the BASIC Programmer's
      Guide.
 
Important
    ■ The differences between NPV# and PV# are:
 
        PV# cash flows                    NPV# cash flows
        ═══════════════════════════════   ════════════════════════════════
        ■ Begin at the end or the         ■ Occur at the end of the period
          beginning of the period
        ■ Are constant throughout         ■ Are variable
          the investment