Я хочу округлить двойное значение в двух десятичных разрядах в С#, как я могу это сделать?
double inputValue = 48.485;
после округления
inputValue = 48.49;
Я хочу округлить двойное значение в двух десятичных разрядах в С#, как я могу это сделать?
double inputValue = 48.485;
после округления
inputValue = 48.49;
Это работает:
inputValue = Math.Round(inputValue, 2);
Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Вы должны использовать
inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Math.Round округляет значение с плавающей запятой с двойной точностью до заданное количество дробных цифр.
Указывает, как методы математического округления должны обрабатывать число который находится на полпути между двумя номерами.
В основном вышеприведенная функция будет принимать ваше входное значение и округлять его до 2 (или любого другого номера) десятичных знаков. При MidpointRounding.AwayFromZero
, когда число находится на полпути между двумя другими, оно округляется к ближайшему числу, которое находится далеко от нуля. Существует еще один вариант, который вы можете использовать в раундах ближайшего четного число.
Используйте Math.Round
value = Math.Round(48.485, 2);
Еще один простой способ - использовать ToString с параметром. Пример:
float d = 54.9700F;
string s = d.ToString("N2");
Console.WriteLine(s);
Результат:
54.97
вы можете попробовать один снизу. Есть много способов для этого.
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