Ответ 1
Метод Math.Round(десятичный, Int32)
Пример:
Math.Round(3.44, 1); //Returns 3.4.
Возможный дубликат:
Как отформатировать десятичный знак
Как я могу ограничить десятичное число, поэтому после точки я получу только 3 цифры?
e.g 2.774
Метод Math.Round(десятичный, Int32)
Пример:
Math.Round(3.44, 1); //Returns 3.4.
Я предполагаю, что вы действительно подразумеваете форматирование его для вывода:
Console.WriteLine("{0:0.###}", value);
Используйте Math.Round
для округления до 3 десятичных знаков.
Ограничение точности числа с плавающей запятой является концепцией SQL. Десятичное значение в csharp означает, что оно будет помнить о назначенной точности. Перед назначением вы можете округлить до трех знаков после запятой. IE, Math.Round()
.
Чтобы использовать десятичное обратное использование Math.Round
со вторым параметром, определяющим число десятичных точек.
decimal d = 54.9700M;
decimal f = (Math.Round(d, 2)); // 54.97
Чтобы получить числовое представление числа, используйте .ToString()
Определение десятичных точек как N3. Где 3 - десятичные точки
decimal d = 54.9700M;
string s = number.ToString("N3"); // "54.97"
Часть моего ответа - ответ, другая часть - интересный момент:
Я часто хочу видеть переменную как prop/field
. Поэтому создайте extension method
, чтобы решить мою проблему:
Tensao - это просто Enum, у которого есть значение.
public static class TensaoExtensions {
public static double TensaoNominal(this Tensao tensao) {
return Math.Round((double.Parse(EnumMapper.Convert(typeof(Tensao),
tensao.ToString()))) * 1000 / Math.Sqrt(3), 3);
}
}