|
Thanks Scott - I wonder if this would work: D b s 5P 0 inz(1232) D c s 8P 3 inz(654.345) D a s 9P 2 /free a = %dech( b + c : %len(a): %decpos(a)); And that way it would be more or less dynamic. Hmmm...doesn't seem to work...gives me a compile error. Odd though...it knows the %len and the %decpos of variable a at compile time. - Michael On Tue, 22 Jun 2004 10:57:59 -0500 (CDT), "Scott Klement" <rpg400-l@xxxxxxxxxxxxxxxx> said: > > Hi Michael, > > > I can't believe I haven't encoutered this yet. How does one perform > > half-adjust when using free format? > > a =(H) b + c; > > doesn't seem to work. Do I need to do a %DECH or something? > > You can do it either way. The following code works nicely: > > D a s 9P 2 > D b s 5P 0 inz(1232) > D c s 8P 3 inz(654.345) > > /free > eval(h) a = b + c; > > But, having to include the word "eval" sometimes throws off your code... > especially if you have a bunch of calcs together and then suddenly one of > them has an "eval" in front of it. So, you can also use %dech() > > a = %dech( b + c : 9: 2); > > %dech() can be awkward because you have to specify the number of digits & > decimal places -- plus, I've always felt that hard-coding that is not a > good idea. > > An alternative to hard-coding would be to use a named constant, as > follows: > > D b s 5P 0 inz(1232) > D c s 8P 3 inz(654.345) > > D a s 9P 2 > D a_digits c %len(a) > D a_decpos c %decpos(a) > > /free > a = %dech( b + c : a_digits: a_decpos); > > HTH > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing > list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > -- michaelr_41@xxxxxxxxxxxxxx
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.