We sometime face problem how to conclude this PMT Excel function in Salesforce.
Following is the Apex Class
public class PMTFunctionCntrl {
public PageReference calculate() {
try{
if(inputRate==null || inputAmount==null || inputperiod==null)
{
return null;
}
double amount = double.valueof(inputAmount);
double Rate = double.valueof(inputRate);
double period = double.valueof(inputperiod);
double result1= math.pow(1+(Rate/100),period);
double xResult1= (result1*(Rate/100));
double result2= (math.pow((1+(Rate/100)),period)-1);
double finalResult1 = (amount*(xResult1/result2));
amtResult=finalResult1 ;
}catch(exception ex){
return null;
}
return null;
}
public double inputAmount{get;set;}
public double inputperiod{get;set;}
public double inputRate{get;set;}
public double amtResult{get;set;}
}
Following is the visualforce Page
Following is the Apex Class
public class PMTFunctionCntrl {
public PageReference calculate() {
try{
if(inputRate==null || inputAmount==null || inputperiod==null)
{
return null;
}
double amount = double.valueof(inputAmount);
double Rate = double.valueof(inputRate);
double period = double.valueof(inputperiod);
double result1= math.pow(1+(Rate/100),period);
double xResult1= (result1*(Rate/100));
double result2= (math.pow((1+(Rate/100)),period)-1);
double finalResult1 = (amount*(xResult1/result2));
amtResult=finalResult1 ;
}catch(exception ex){
return null;
}
return null;
}
public double inputAmount{get;set;}
public double inputperiod{get;set;}
public double inputRate{get;set;}
public double amtResult{get;set;}
}
Following is the visualforce Page
<apex:page controller="PMTFunctionCntrl" docType="HTML-5.0"> <apex:form id="changeStatusForm"> <apex:pageBlock > <apex:pageMessages /> <apex:pageBlockButtons > <apex:commandButton value="Calculate" action="{!calculate}" reRender="result"/> </apex:pageBlockButtons> <apex:pageBlockSection columns="2"> <apex:outputText value="Rate"></apex:outputText> <apex:input value="{!inputRate}" id="theTextInputRate" /> <apex:outputText value="Period"></apex:outputText> <apex:input value="{!inputperiod}" id="theTextInputPrd" type="number"/> <apex:outputText value="Amount" ></apex:outputText> <apex:input value="{!inputAmount}" id="theTextInputAmt" type="number"/> </apex:pageBlockSection> <apex:pageBlockSection columns="2" id="result"> <apex:outputText value="Amortization Amount"></apex:outputText> <apex:outputText value="{!amtResult}"></apex:outputText> </apex:pageBlockSection> </apex:pageBlock> </apex:form>
1 Comments
Hi Amul,
ReplyDeleteThanks for sharing this, but it doesn't give accurate result.
If we pass Amt=143974,Period=18,Rate=1.5
Expected = 9197.20
Output by above calculation = 9186.42
Please help.
Thanks!