Coder Perfect

In two decimal places, round double.

Problem

In C#, I’d like to round a double value to two decimal places. How can I achieve this?

double inputValue = 48.485;

after round up

inputValue = 48.49;

Asked by sanjeev40084

Solution #1

This works:

inputValue = Math.Round(inputValue, 2);

Answered by Alex LE

Solution #2

Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)

Answered by nandin

Solution #3

ToString with an argument is another simple method. Example:

float d = 54.9700F;    
string s = d.ToString("N2");
Console.WriteLine(s);

Result:

54.97

Answered by Diwas

Solution #4

You should use

inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)

Math.Round

MidpointRounding

Essentially, the function above will round your input value to 2 (or whatever number you provide) decimal places. When a number is midway between two others, it is rounded to the next number that is away from zero with MidpointRounding.AwayFromZero. You also have the option of rounding to the nearest even number.

Answered by Gage

Solution #5

Use Math.Round

value = Math.Round(48.485, 2);

Answered by recursive

Post is based on https://stackoverflow.com/questions/2357855/round-double-in-two-decimal-places-in-c