User Guide

Table Of Contents
192 Chapter 9: Writing and Calling User-Defined Functions
<cfcatch type="InvalidData">
<cfoutput>
#cfcatch.message#<br>
</cfoutput>
</cfcatch>
</cftry>
A user-defined function example
The following simple function takes a principal amount, an annual percentage rate, and a loan
duration in months and returns the total amount of interest to be paid over the period. You can
optionally use the percent sign for the percentage rate, and include the dollar sign and comma
separators for the principal amount.
You could use the
TotalInterest function in a cfoutput tag of a forms action page, as follows:
<cfoutput>
Loan amount: #Form.Principal#<br>
Annual percentage rate: #Form.AnnualPercent#<br>
Loan duration: #Form.Months# months<br>
TOTAL INTEREST: #TotalInterest(Form.Principal, Form.AnnualPercent,
Form.Months)#<br>
</cfoutput>
Defining the function using CFScript
<cfscript>
function TotalInterest(principal, annualPercent, months) {
Var years = 0;
Var interestRate = 0;
Var totalInterest = 0;
principal = trim(principal);
principal = REReplace(principal,"[\$,]","","ALL");
annualPercent = Replace(annualPercent,"%","","ALL");
interestRate = annualPercent / 100;
years = months / 12;
totalInterest = principal*(((1+ interestRate)^years)-1);
Return DollarFormat(totalInterest);
}
</cfscript>