User Guide

Table Of Contents
A user-defined function example 193
Reviewing the code
The following table describes the code:
Defining the function using the cffunction tag
The following code replaces CFScript statements with their equivalent CFML tags.
<cffunction name="TotalInterest">
<cfargument name="principal" required="Yes">
<cfargument name="annualPercent" required="Yes">
<cfargument name="months" required="Yes">
<cfset var years = 0>
<cfset var interestRate = 0>
<cfset var totalInterest = 0>
<cfset principal = trim(principal)>
<cfset principal = REReplace(principal,"[\$,]","","ALL")>
<cfset annualPercent = Replace(annualPercent,"%","","ALL")>
<cfset interestRate = annualPercent / 100>
<cfset years = months / 12>
<cfset totalInterest = principal*
(((1+ interestRate)^years)-1)>
<cfreturn DollarFormat(totalInterest)>
</cffunction>
Code Description
function TotalInterest(principal,
annualPercent,
months) {
Starts the TotalInterest function definition.
Requires three variables: the principal amount,
the annual percentage rate, and the loan
duration in months.
Var years = 0;
Var interestRate = 0;
Var totalInterest = 0;
Declares intermediate variables used in the
function and initializes them to 0. All
var
statements must precede the rest of the function
code.
principal = trim(principal);
principal =
REReplace(principal,"[\$,]","","ALL");
annualPercent =
Replace(annualPercent,"%","","ALL");
interestRate = annualPercent / 100;
years = months / 12;
Removes any leading or trailing spaces from the
principal argument. Removes any dollar sign ($)
and comma (,) characters from the principal
argument to get a numeric value.
Removes any percent (%) character from the
annualPercent argument to get a numeric value,
then divides the percentage value by 100 to get
the interest rate.
Converts the loan from months to years.
totalInterest = principal*(((1+
interestRate)^years)-1);
Return DollarFormat(totalInterest);
}
Calculates the total amount of interest due. It is
possible to calculate the value in the
Return
statement, but this example uses an
intermediate totalInterest variable to make the
code easier to read. Returns the result formatted
as a US currency string.
Ends the function definition.