|
I suspect you a re missing a PTF or three - on my V4R4 system the code
below (cut/pasted from the editor) gives 19.10 as you say you expect.
D#ExPo S 1P 0 Inz(0)
D#Base S 4P 2 Inz(18.10)
D#Result S 5P 2
C Eval #Result = #Base + (1/(10**#Expo))
C #Result Dsply #Result
C Eval *InLR = *ON
I have also compiled for V4R2 which is the same base compiler you are
using, with the same result.
I'm getting the wrong answer on an eval statement. Why?
Variable definitions:
(I am not using Inz in my program. Only here to give the example some
values)
D#ExPo S 1P 0 Inz(0)
D#Base S 4P 2 Inz(18.10)
D#Result S 5P 2
The Eval statement:
Eval #Result = #Base + (1 / (10 ** #Expo))
Expected answer: 19.10
Actual answer: 19.09
We are on V4R3.
If I break it down, it works.
Eval #CalcExpo = 10 ** (#Expo)
Eval #Result = #Base + (1/#CalcExpo)
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.