Круглый двойной в двух знаках после запятой в С#?

Я хочу округлить двойное значение в двух десятичных разрядах в С#, как я могу это сделать?

double inputValue = 48.485;

после округления

inputValue = 48.49;

Связано: С# - Как округлить десятичное значение до двух знаков после запятой (для вывода на странице)

Ответ 1

Это работает:

inputValue = Math.Round(inputValue, 2);

Ответ 2

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

Ответ 3

Вы должны использовать

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

Math.Round

Math.Round округляет значение с плавающей запятой с двойной точностью до заданное количество дробных цифр.

MidpointRounding

Указывает, как методы математического округления должны обрабатывать число который находится на полпути между двумя номерами.

В основном вышеприведенная функция будет принимать ваше входное значение и округлять его до 2 (или любого другого номера) десятичных знаков. При MidpointRounding.AwayFromZero, когда число находится на полпути между двумя другими, оно округляется к ближайшему числу, которое находится далеко от нуля. Существует еще один вариант, который вы можете использовать в раундах ближайшего четного число.

Ответ 4

Используйте Math.Round

value = Math.Round(48.485, 2);

Ответ 5

Еще один простой способ - использовать ToString с параметром. Пример:

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

Результат:

54.97

Ответ 6

вы можете попробовать один снизу. Есть много способов для этого.

1. 
 value=Math.Round(123.4567, 2, MidpointRounding.AwayFromZero) //"123.46"
2.
 inputvalue=Math.Round(123.4567, 2)  //"123.46"
3. 
 String.Format("{0:0.00}", 123.4567);      // "123.46"
4. 
string.Format("{0:F2}", 123.456789);     //123.46
string.Format("{0:F3}", 123.456789);     //123.457
string.Format("{0:F4}", 123.456789);     //123.4568