Justin replied earlier - and suggested using the SQL command CEILING
EVAL(H) will half-adjust but will not always round up. When I need to always go up to the next value I use the CEILING SQL function (
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafzscaceiling.htm). For example:
EXEC SQL set :result = ceiling(:input_value);
Alan Shore
E-mail : ASHORE@xxxxxxxx
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of John Yeung
Sent: Wednesday, February 12, 2020 1:35 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: [EXTERNAL] Re: What is a good way to round up numbers in free form?
On Wed, Feb 12, 2020 at 1:14 PM Justin Taylor <JUSTIN@xxxxxxxxxxxxx> wrote:
Or just use SQL ROUND.
Using SQL is definitely sensible advice. The ROUND function in particular only does half-up rounding, though. To get some of the other methods, you would need to set the rounding mode and use QUANTIZE. I am actually not quite clear on how to set the rounding mode; it might not be easy (or even possible?) to switch modes in the middle of a program.
In that case, having a procedure or procedures to handle different rounding methods could conceivably be handy. (As a practical matter, I realize it is extremely unusual to need to dynamically switch rounding
methods.)
John Y.
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.