lua-users home
lua-l archive

Re: math.floor and rounding

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 2010年9月20日, Jose wrote:
>
> I want to round numbers with two decimal digits. I use math.floor( n *
> 100 ) but sometimes I have situations like:
> 	n = 10.20; math.floor( n * 100 ) --> 1019
> My current solution is to always add 0.001 to n, but is this the right
> approach ?
You should add 0.005 to get (roughly) round-to-nearest.
Lua is a little bit weak in this area because C89 doesn't have a
round-to-nearest function (only floor and ceil). (C99 is more complete.)
Tony.
-- 
f.anthony.n.finch <dot@dotat.at> http://dotat.at/
HUMBER THAMES DOVER WIGHT PORTLAND: NORTH BACKING WEST OR NORTHWEST, 5 TO 7,
DECREASING 4 OR 5, OCCASIONALLY 6 LATER IN HUMBER AND THAMES. MODERATE OR
ROUGH. RAIN THEN FAIR. GOOD.

AltStyle によって変換されたページ (->オリジナル) /