## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

# 1.9. Rounding a Floating-Point Value

## Problem

You need to round a number to a whole number or to a specific number of decimal places.

## Solution

To 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`

## Discussion

The `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.