|
Sure Greg using your example Say I want to round 1461 to the NEAREST thousand, which would be 1. So N is 1461 and S = 1000 Temp = 1461 + 1000/2 Temp = 1461 + 500 Temp = 1961 Result = (1961/1000) * 1000 Result = 1 Dont forget the field RESULT is an integers - NO decimal places. Another example Say I want to round 1561 to the NEAREST thousand, which would be 2. So N is 1561 and S = 1000 Temp = 1561 + 1000/2 Temp = 1561 + 500 Temp = 2061 Result = (2061/1000) * 1000 Result = 2 Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx "Fleming, Greg (ED)" <GFLEMING@evergla To desdirect.com> "RPG programming on the AS400 / Sent by: iSeries" <rpg400-l@xxxxxxxxxxxx> rpg400-l-bounces@ cc midrange.com Subject RE: Rounding up to nearest 1000 11/10/2006 03:03 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@midrang e.com> Alan, Now I'm really confused. What does it do ? Can you walk one through like I was trying to do ? I my example, it rounded neither up nor down, nor round for that matter. The result seemed to be 1961. How is that any "rounder" than the input value of 1461 ? And how can the last line of the equation ever make any sense; it just divides by a value and multiplies right back by the same value, resulting in the same thing you started with... ? What am I missing here ? Greg |-----Original Message----- |From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] |On Behalf Of Alan Shore |Sent: Friday, November 10, 2006 2:51 PM |To: RPG programming on the AS400 / iSeries |Subject: RE: Rounding up to nearest 1000 | | |Greg - this rounding algorithm is for rounding to the nearest whatever. |NOT rounding UP to the nearest whatever. | | | |Alan Shore | |NBTY, Inc |(631) 244-2000 ext. 5019 |AShore@xxxxxxxx | | | | ||The rounding algorithm goes something like this: || ||Let N be the number to round, S be the scale of the rounding (in this ||example S = 1000) ||1) temp = N + S/2 ||2) result = (temp / S) * S || ||I think this has to use 'integer division' to work. || ||This is essentially what the H extender is about - hence the name - ||"(H)alf add". || ||HTH, ||Adam | |Adam, | |I'm trying that out using my trusty calculator, and I'm not ending up |with a round number. | |Say I want to round 1461 up to the nearest thousand, which would be |2000. |So N is 1461 and S = 1000 | |Temp = 1461 + 1000/2 |Temp = 1461 + 500 |Temp = 1961 |Result = (1961/1000) * 1000 |Result = 1961 ? | |Did I do something wrong ? | |Greg | -- This is the RPG programming on the AS400 / 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.
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.