ColdFusion 9.0 Resources |
A user-defined function exampleThe following simple function takes a principal amount, an annual percentage rate, and a loan duration in months and returns the total amount of interest 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 form’s 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> Reviewing the codeThe following table describes the code:
Defining the function using the cffunction tagThe 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> |