On 09-Feb-2004, Jochen Wezel <[EMAIL PROTECTED]> wrote:
> Has anybody seen that behaviour yet which is produced by MS .Net?
> 
> When rounding doubles to integer, there is a rounding error:
>         Console.WriteLine(Convert.ToInt32(1.5)) 'is 2  - should be 2
>         Console.WriteLine(Convert.ToInt32(2.5)) 'is 2  - should be 3

What makes you think that is an error?

The MS docs say "If value is halfway between two whole numbers, the even
number is returned; that is, 4.5 is converted to 4, and 5.5 is converted
to 6.".  So this is behaving as intended.

If you want System.Math.Floor(Num + 0.5), then you know where to find it :)

-- 
Fergus Henderson <[EMAIL PROTECTED]>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
_______________________________________________
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to