bdweirdt New User Joined: 09 Nov 2006 Posts: 2
I'm new at PL/I and have written a program. A simple X / 2 is doing some weird things. An example
X dec fixed(15)
Y dec fixed(15,1)
Y = X/2
now the problem is that this simple division is giving some weird results:
IF X = 1, Y = 0,0 (I would expect 0,5)
It would be a lot easier to use the builtin function REM, but I can't get it to work. When I declare REM as al builtin, it complains that it's not a builtin function.
Thx in advance,
acp_ajay1 New User Joined: 13 Mar 2006 Posts: 9
Please declare the variables as given below
DCL X FIXED BIN(15,0)
DCL Y FIXED BIN(15,1)
Try it out.....It definitely works...Do let me know if u have any further problems with this.....
cheryala New User Joined: 20 Mar 2006 Posts: 46
When you use
here compiler assumes the precision of numeric constant to be fixed dec(1,0).
When the division is evaluated the result will have the precision of (15,0) . This result is assigned to the target variable Y.
For more information on how the precision is calculated refere IBM manual ..
All times are GMT + 6 Hours