
I am in the position to help a customer transition to Lua, and I'm sure they'll ask question s.a. where's "round" when we start going specific.
And since I didn't have the reason for abandoning 'round' I wanted to ask. That's all.
The specific variant I'd like to have is function round( v, step ) return math.floor( v*step +0.5 ) / step endThis is the kind of things that just should "be there" (as most is, already). Maybe I'll just inject a 'math.round' to them myself, to avoid sticking to this issue and focusing on the language itself, instead.
Mark Hamburg nailed the reasoning right:
In adding a rounding function, there's a disincentive to add it to math itself because the Lua distribution conceptually controls that namespace. So one adds mymath.round. (Lightroom has AgMathUtils.round.) But then everyone goes off and reinvents this and when one wants to share code we run into problems.
The round above already causes a clash compared to the one on the Wiki (2nd param works differently).
asko On Wed, 23 Apr 2008 10:43:02 0400 "Mike Crowe" <drmikecrowe@gmail.com> wrote:
What's the specific request that we are trying to define? math.round(value,precision) for noninteger rounding?I'm confused about what is being requested. I agree with the earlierobservation that floor/ceil give us everything we need:a = 12.345678 print(math.floor(a+0.5))12print(math.floor(a*10+0.5)/10)12.3print(math.floor(a*100+0.5)/100)12.35 Am I missing something very obscure?