What result do you want from the examples you borrow from MSDN? Again have you considered 1000.0 instead of 100.0 and do your own round?
John Warner > -----Original Message----- > From: Discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] On Behalf Of Eddie Lascu > Sent: Monday, August 25, 2008 1:04 PM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: Re: [ADVANCED-DOTNET] Converting doubles into > integers without rounding errors > > > According to MSDN, Math.Round will return the following: > > Math.Round(4.4); //Returns 4.0. > Math.Round(4.5); //Returns 4.0. > Math.Round(4.6); //Returns 5.0. > > So, in my case doing Math.Round(objMyObject.Amount * 100.0) > will not do the trick always. For example: > > Math.Round(123.454 * 100.0); // returns 12345 > Math.Round(123.455 * 100.0); // returns 12345 > Math.Round(123.456 * 100.0); // returns 12346 > > So I suppose I need to execute this: > > Math.Round((objMyObject.Amount * 100.0) - 0.5) to be sure > that I get what I want. > > Am I missing something? > > > > -----Original Message----- > From: Discussion of advanced .NET topics. > [mailto:[EMAIL PROTECTED] Behalf Of Peter Ritchie > Sent: Monday, August 25, 2008 12:48 PM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: Re: [ADVANCED-DOTNET] Converting doubles into > integers without rounding errors > > > As John has alluded to, what you're seeing is a difference in > rounding between formatting a double value as text and > multiplying by 100 and dropping the decimals. > > If you have specific rounding logic, perform it before you > convert to int. If you want the same value that you'd see as > formatted text, convert to text first. > > I would recommend something like this: > > double tempAmount = objMyObject.Amount * 100.0; > uint nIntAmount = Math.Round(tempAmount); > > =================================== > This list is hosted by DevelopMentorR http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentorR http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com