Как ограничить десятичное число?

Возможный дубликат:
Как отформатировать десятичный знак

Как я могу ограничить десятичное число, поэтому после точки я получу только 3 цифры?

e.g  2.774

Ответы

Ответ 2

Я предполагаю, что вы действительно подразумеваете форматирование его для вывода:

Console.WriteLine("{0:0.###}", value);

Ответ 3

Используйте Math.Round для округления до 3 десятичных знаков.

Ответ 4

Ограничение точности числа с плавающей запятой является концепцией SQL. Десятичное значение в csharp означает, что оно будет помнить о назначенной точности. Перед назначением вы можете округлить до трех знаков после запятой. IE, Math.Round().

Ответ 5

Чтобы использовать десятичное обратное использование 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"

Ответ 6

Часть моего ответа - ответ, другая часть - интересный момент:

Я часто хочу видеть переменную как 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);
        }
    }