× 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.



If you ever get an exactly 4 decimal number, your formula will round it
up to the next one, which is why I suggested .00004999

.01413921 + .00005 is .01418921 and will half adjust to .0142
.01420000 + .00005 is .01425000 and will half adjust to .0143

.01413921 + .00004999 is .01418920 and will half adjust to .0142
.01420000 + .00004999 is .01424999 and will half adjust to .0142
.01410001 + .00004999 is .01415000 and will half adjust to .0142

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jeff Young
Sent: Wednesday, March 20, 2013 11:05 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Round up a number to 4 decimal positions

All,
The Round Up requirement is based on a formula in an EXCEL worksheet
that was used to compute the value I am using.
In essence, what I am being given is a currency exchange rate that I
need to convert to its reciprocal value as a fixed 11.4 field.
This is then used to convert a value in foreign currency to the native
currency.
Ie; Rate = 70.758
Amount = 396.13
1. I need to convert the 396.13 to the native currency. This is done by
multiplying the 396.13 by 70.758. No problems there.
2. I need to have the rate of 70.758 convert to the 11.4 field and use
that to extend the value from step 1.
In the EXCEL worksheet, the formula to get the 11.4 field uses the
ROUNDUP function resulting in .0142. The value without rounding is
.0141.
I have taken the suggestion from some of the responses to add .00005 to
the field and then use Eval(H) to get the result.

Thanks to everyone who responded.



On Wed, Mar 20, 2013 at 8:34 AM, Michael Schutte
<mschutte369@xxxxxxxxx>wrote:

I agree, if you are always wanting to round up, then add .0000999999

but then do no rounding into your fourth decimal position.

fld is [20,10]
fld2 is [20,4]

fld = 0.01420000 + .0000999999 = .0142999999
fld2 = fld; // fld2 = 0.0142

fld = 0.014201222 + .0000999999 = .0143012219
fld2 = fld; // fld2 = .0143






On Tue, Mar 19, 2013 at 4:23 PM, Jeff Crosby
<jlcrosby@xxxxxxxxxxxxxxxx
wrote:

Or add .00009 and don't round.

Back in the late 70's, on a System/3 Mod 10, The Boss wanted a
multiplication to always be rounded up to the next penny. This was,

uh, several version ago in RPG.

What I settled on (and he agreed to) was rounding to 3 decimal
places,
add
.009, and truncate. Not perfect math-wise, but it worked.

And that particular calculation, though in free form for many years,

Is Still Done The Same Way. :)



On Tue, Mar 19, 2013 at 4:14 PM, Roger Harman
<roger_harman@xxxxxxxxxxx
wrote:

You could add .00005 before rounding.

The rounding opcode/function is doing it correctly now. You're
wanting
to
do something like a variant of a ceil() function.


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:
rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Jeff Young
Sent: Tuesday, March 19, 2013 1:04 PM
To: RPG programming on the IBM i / System i
Subject: Round up a number to 4 decimal positions

All,
I have a calculation that results in the value of .0141326 that I
need
to
have rounded up to the fourth decimal position .0142.
What is the best way to do this?
RPGLE Eval(H) results in .0141.
SQL ROUND results in .0141.

Thanks,

--
Jeff Young
Sr. Programmer Analyst
--
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.




--
Jeff Crosby
VP Information Systems
UniPro FoodService/Dilgard
P.O. Box 13369
Ft. Wayne, IN 46868-3369
260-422-7531
www.dilgardfoods.com

The opinions expressed are my own and not necessarily the opinion of

my company. Unless I say so.
--
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.




--
Jeff Young
Sr. Programmer Analyst
--
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.




Kevin Bucknum
Senior Programmer Analyst
MEDDATA/MEDTRON
Tel: 985-893-2550


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.