Dave, whenever you use RPG math expressions that create intermediate results, it's really good to review Scott Klement's outstanding explanation of the "Maximum digits rule". You'll find that in the archives... Use Google to search for:
midrange.com klement Maximum Digits rule
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Dave
Sent: Thursday, April 12, 2012 6:56 AM
To: RPG programming on the IBM i / System i
Subject: RPG math
I recently asked how to access an EXCEL formula from an RPG program but here I am now having to reproduce the EXCEL PMT function in RPG.
Maybe someone has already done this?
Anyway, I've been given a formula to code and an EXCEL spreadsheet to control my results.
Which I've coded like this :
MonthlyRate = interestRate /12;
MonthlyPayment = ( LoanAmount / MonthlyRate ) * ( 1 - ( 1 + MonthlyRate ) ** ( -1 * numberOfPayments ));
12 * MonthlyPayment *
1 - ( 1 + MonthlyRate ) ** ( -1 * numberOfPayments - numberOfPaymentsMade ) /interestRate ;
My fields are defined so (imposed) :
LoanAmount, MonthlyPayment, LoanRemaining 13S2 numberOfPayments, numberOfPaymentsMade 3 I 0
I've very little experience with RPG math and I'm worried about errors from intermediate calculations How should I define the rates MonthlyRate and interestRate so I don't get any loss of information after the divisions?
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l