This link:
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp
seems to say DB2 integers are 0 to 9 digits
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of darren@xxxxxxxxx
Sent: Thursday, July 11, 2013 12:46 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Split Number into whole and fractional parts
I've been curious about %int. What is the maximum size integer it could return. For example, could it return like a 10u 0, a 10i 0, or even less at maybe a 5i 0?
From: Barbara Morris <bmorris@xxxxxxxxxx>
To: rpg400-l@xxxxxxxxxxxx
Date: 07/11/2013 02:43 PM
Subject: Re: Split Number into whole and fractional parts
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
On 7/10/2013 9:00 PM, Roger Harman wrote:
WholeNum = %int(OriginalNum);
Fraction = OriginalNum - WholeNum;
Sam's values are small enough for %INT, but in general, it would be better to establish a pattern of using %DEC for this kind of thing.
WholeNum = %dec(OriginalNum : 63 : 0);
Fraction = OriginalNum - WholeNum;
%DEC with 63 digits can handle the integer part of any RPG numeric value. WholeNum and Fraction still have to be defined according to the real size of OriginalNum, but by leaning towards %DEC with 63 digits rather than %INT for getting the non-decimals part, we can reduce the changes of needing a debug session when we someday use this pattern for a value that won't fit in an integer.
A GetWholeNumber procedure would be good. It would return a 63:0 value, hiding the 63-digit ickiness from the reader.
WholeNum = GetWholeNumber(OriginalNum);
Fraction = OriginalNum - WholeNum;
--
Barbara
--
This is the RPG programming on the IBM i (AS/400 and 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.
--
This is the RPG programming on the IBM i (AS/400 and 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.
As an Amazon Associate we earn from qualifying purchases.