[ Team LiB ] |
Recipe 1.9 Rounding a Floating-Point ValueProblemYou need to round a number to a whole number or to a specific number of decimal places. SolutionTo round any number to its nearest whole number, use the overloaded static Math.Round method, which takes only a single arguments: int x = (int)Math.Round(2.5555); // x == 3 If you need to round a floating-point value to a specific number of decimal places, use the overloaded static Math.Round method, which takes two arguments: decimal x = Math.Round(2.5555, 2); // x == 2.56 DiscussionThe Round method is easy to use; however, you need to be aware of how the rounding operation works. The Round method follows the IEEE Standard 754, section 4 standard. This means that if the number being rounded is halfway between two numbers, the Round operation will always round to the even number. An example will show what this means to you: decimal x = Math.Round(1.5); // x == 2 decimal y = Math.Round(2.5); // y == 2 Notice that 1.5 is rounded up to the nearest even whole number and 2.5 is rounded down to the nearest even whole number. Keep this in mind when using the Round method. See AlsoSee Recipe 1.1; see the "Math Class" topic in the MSDN documentation. |
[ Team LiB ] |