SuperCeiling ( Number , RoundTo )
This custom function rounds up a number to the closest RoundTo Number
Average rating: 4.5 (30 votes) Log in to vote
Ibrahim Bittar Torres - Show more from this author
Eikonsys, S.A. de C.V. http://www.eikonsys.com |
SuperCeiling ( 4567 , 10 )
4570
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
(Updated Nov 28 - 2012):
Sometimes you need to calculate the closest thousand or hundred of a number, specially when you are working with items billable by the thousand (like paper).
Basically this CF divides the number by RoundTo, takes the fractionary part and rounds it up using the Ceiling() function and the adds it to the integer part and multiply it by RoundTo again.
Comments
Simon Stock, Bedfordshire, UK May 14, 2013 |
||
I get a "Specified Parameter Could Not Be Found" error, highlighting "Number" - what does that refer to? | ||
Ibrahim Bittar, Leon MX May 14, 2013 |
||
You have to add the parameter in the upper side of the dialog. Type "Number" and click the + icon. | ||
Steve M, Broomall, PA Aug 21, 2015 |
||
Works great!, found this after doing it the hard way....:) Let([ hund=Right(Round(Service::odometer;0);3); rnd=Case( hund > 500;0; hund = 500;-500; hund ≥ 1 ; 500; 0) ]; Round(Service::odometer;-3)+rnd ) |
||
Ibrahim Bittar, León MX Aug 21, 2015 |
||
Hi Steve, thank you for your comments. By the way, it helped me to notice that it was spelled wrongly and I have just fixed it. the calculation remains the same, it was just how it shows on this website. Thanks! |
||
Don Wieland, DW Data Concepts Dec 22, 2017 |
||
If you want to make the result Round UP or Down, here is a MOD to your CF: RoundUpDnByUnit ( Number , RoundTo ) Let ( [ a = Number; b= RoundTo; Num = a / b ; Integ = Int ( Num ) ; Frac = Num - Integ; c = ( Integ + Ceiling ( Frac ) ) * b; d = If(a ≥ (c - (b / 2)); c; c - b) ] ; d ) Thanks! Don |
||
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.