ex.hlp (Topic list)
FV# Function Example
                        Example                Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
' This example uses the FV# function to return the future value of an
' investment. You are prompted to input required information.
 
' Note: To run this example you must use the FINANCE.QLB Quick library.
' The FINANCE.BI include file must also be present.
 
' To try this example:
' 1. Choose New Project from the File menu
' 2. Copy the code example below to the code window
' 3. Press F5 to run the example
 
' $INCLUDE: 'FINANCE.BI'
 
 CONST ENDPERIOD = 0
 CONST BEGINPERIOD = 1
 CONST DOLLARFORMAT$ = "$#,###,##0.00"
 CONST PERCENTFORMAT$ = "##.00"
 
 DEFDBL A-Z
 DIM APR AS SINGLE
 DIM PaymentType AS INTEGER, Status AS INTEGER
 
 CLS
 INPUT "Enter the expected annual percentage rate "; APR
 PRINT
 INPUT "How much do you plan to invest each month"; Payment
 PRINT
 DO WHILE PaymentTypeString$ <> "B" AND PaymentTypeString$ <> "E"
     PRINT "Make payments at the beginning (B) or end (E) of the month? ";
     PaymentTypeString$ = UCASE$(INPUT$(1))
 LOOP
 ' Set up the correct payment type.
 IF PaymentTypeString$ = "B" THEN
     PaymentType = BEGINPERIOD
     PRINT "Beginning"
 ELSE
     PaymentType = ENDPERIOD
     PRINT "End"
 END IF
 PRINT
 INPUT "How long, in months, do you expect to invest"; Period
 PRINT
 INPUT "What is the current value, if any, of this investment"; CurVal
 PRINT
 ' Calculate and format the results.
 ' Put APR in proper form.
 IF APR <= 1 THEN
     PercentageRate$ = FORMAT$(APR * 100, PERCENTFORMAT$) + "%"
 ELSE
     PercentageRate$ = FORMAT$(APR, PERCENTFORMAT$) + "%"
     APR = APR / 100
 END IF
 Payment$ = FORMAT$(Payment, DOLLARFORMAT$)
 CurValue$ = FORMAT$(CurVal, DOLLARFORMAT$)
 FutrVal = FV#(APR / 12, Period, -Payment, -CurVal, PaymentType, Status)
 FutureValue$ = FORMAT$(FutrVal, DOLLARFORMAT$)
 ' Examine Status to determine success or failure of FV#
 IF Status THEN
    ' If unsuccessful, announce a problem.
     PRINT "There was an error in calculating the future value."
 ELSE
     ' If successful, display the results.
     PRINT
     PRINT "At "; PercentageRate$; " interest, your "; Payment$; " per month"
     IF PaymentType = BEGINPERIOD THEN
         PRINT "(paid at the beginning of each month), "
     ELSE
         PRINT "(paid at the end of each month), "
     END IF
     IF CurVal > 0 THEN
         PRINT "plus the "; CurValue$; " your investment is currently worth,"
     END IF
     PRINT "will be worth "; FutureValue$; " after"; Period; "months."
 END IF