|
(The sub 1 from your number is in case the original number is already rounded. 1000 remains 1000, not 2000, but 1001 still becomes 2000.)
say the number is 1455. 1455 - 1 = 1454, divide by 1000 = 1. Add 1 = 2. Mult 1000 becomes 2000 1000 - 1 = 999, divide by 1000 = 0, plus 1 = 1, times 1000 = 1000 1999 - 1 = 1998, divide by 1000 = 1, plus 1 =2, mult 1000 = 2000. Fleming, Greg (ED) wrote:
|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) * 1000Result = 1961 ? Did I do something wrong ?Greg
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.