× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.




On Tue, 21 Dec 2004 taccardo@xxxxxxxxxxxxxxx wrote:

Is there any built in functions in RPGIV that would take a decimal number & round it up to the nearest whole number?


%inth() or %dech() will "half-adjust" (round fractions of .5 or greater up to the next whole number)


Therefore, you can do the following:

     D test1           s              9P 2
     D test2           s              9P 2
     D wait            s              1A

      /free
           //  typically, rounding only rounds .5 or higher up to
           //  the next number.

            test2 = 14.78;
            test1 = %inth(test2);
            dsply (%char(test2) + ' rounds up to ' + %char(test1));


// In contrast, decimals below .5 get rounded down.

            test2 = 16.1;
            test1 = %inth(test2);
            dsply (%char(test2) + ' rounds down to ' + %char(test1));


// The regular %int() drops the fraction. You can use // this to round up "manually" if you want to always // round upward:

            test2 = 16.1;
            test1 = %int(test2);

            if (test2 > test1 );
                test1 = test1 + 1;
            endif;

            dsply (%char(test2) + ' rounds up to ' + %char(test1));

            dsply ('Press ENTER to quit') ' ' wait;

            *inlr = *on;

/end-free

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.