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

18
задан Community 23 May 2017 в 12:13
поделиться

6 ответов

Метод Math.Round (Decimal, Int32)

Пример:

Math.Round(3.44, 1); //Returns 3.4.
46
ответ дан 30 November 2019 в 05:59
поделиться

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

Console.WriteLine("{0:0.###}", value);
12
ответ дан 30 November 2019 в 05:59
поделиться

Чтобы вернуть десятичное число, используйте 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"
2
ответ дан 30 November 2019 в 05:59
поделиться

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

Я часто хочу видеть переменную как prop/field. Поэтому я создал метод расширения, чтобы решить мою проблему:

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);
        }
    } 
0
ответ дан 30 November 2019 в 05:59
поделиться

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

1
ответ дан 30 November 2019 в 05:59
поделиться

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

1
ответ дан 30 November 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: