Is there a ceiling function like in excel?
-
Wow! Thanks for taking the time to explain it in a Ruby's for Dummies term! No way I would of come up with a solution to that problem!
That now makes total sense... now I'm off to try and implement this in my script... should fun
Thanks again!
-
my_num = 0.17578125 frac = 16.0 # 1/16th (radix, specifically) rounded_num = (my_num * frac).round / frac
-
That can't be right, you didn't even have to make any special methods to do that
-
This is for measurements?
One limitation within Sketchup, is that the precision is limited to 0.001", no matter what the model units are set to.
So using a fractional float of 0.1875" may get rounded by Sketchup. Will it be 0.187" or 0.188" ??
I would suggest that you decide what it will be in your 'rounding' method... -
@Chris -Been there - just passing it along.
-
Here's Jim's clever solution made into a method...
def roundtofraction(num, frac) num = num.to_f frac = frac.to_f return (num * frac).round / frac end
Usage:
my_num = 0.17578125
my_frac = 16
my_num=roundtofraction(my_num, my_frac)0.1875
-
@jim said:
my_num = 0.17578125 frac = 16.0 # 1/16th (radix, specifically) rounded_num = (my_num * frac).round / frac
Dude you're a genius! That is awesome!
Thank you!!
-
@chris fullmer said:
That can't be right, you didn't even have to make any special methods to do that
Chris don't feel bad even after doing this thing called 'programming' for the last few weeks I'm still getting the hang of methods, classes and all that jazz!!
-
@dan rathbun said:
This is for measurements?
One limitation within Sketchup, is that the precision is limited to 0.001", no matter what the model units are set to.
So using a fractional float of 0.1875" may get rounded by Sketchup. Will it be 0.187" or 0.188" ??
I would suggest that you decide what it will be in your 'rounding' method...Yes Dan, this is for measurements.
I didn't know that limitation about Sketchup, interesting. But I'm not building a plane here just cabinets, vanties and that kind of thing, but I just don't like seeing that ~ and this script programming is addictive! You just keep adding on features and stuff you can do, I think I might have a problem.
Thanks for the info
-
@tig said:
Here's Jim's clever solution made into a method...
def roundtofraction(num, frac) > num = num.to_f > frac = frac.to_f > return (num * frac).round / frac > end
Usage:
my_num = 0.17578125
my_frac = 16
my_num=roundtofraction(my_num, my_frac)0.1875
Thanks yet again TIG!
-
Yeah TIG, thanks for wrapping it into its own method, now it feels at least slightly over-engineered
-
Anything to prolong the embarrassment
-
-
Just a note to remind all..
... that now with Ruby in the 1.8.6 branch, we have both a
ceil()
and afloor()
method defined for theFloat
class.
Advertisement