Округление числа с плавающей запятой до n знаков после запятой
В этом посте будем обсуждать, как округлить число с плавающей запятой до n знаков после запятой в C#.
Использование Decimal.Round()
метод
Другим распространенным подходом является использование Decimal.Round()
метод округления значения до указанного количества десятичных разрядов. Преимущество использования этого метода заключается в том, что он сохраняет значение как Decimal
, вместо того, чтобы возвращать строку. Следующий пример иллюстрирует.
public class Example
{
public static void Main()
{
decimal d = 3.14285m;
d = Decimal.Round(d, 2);
Console.WriteLine(d); // 3.14
}
}
Вы также можете указать стратегию округления десятичного числа, используя MidpointRounding
перечисление. Например, в следующем коде используется соглашение об округлении MidpointRounding.AwayFromZero
.
public class Example
{
public static void Main()
{
decimal d1 = 3.505m;
d1 = Decimal.Round(d1, 2);
Console.WriteLine(d1); // 3.50
decimal d2 = 3.505m;
d2 = Decimal.Round(d2, 2, MidpointRounding.AwayFromZero);
Console.WriteLine(d2); // 3.51
}
}
The Math
класс также предоставляет Round()
метод округления значения до указанного количества дробных цифр. В следующем примере представлены выходные данные с различными входными данными:
public class Example
{
public static void Main()
{
float f1 = 3.14285f;
double d1 = Math.Round(f1, 2);
Console.WriteLine(d1); // 3.14
float f2 = 3.1000f;
double d2 = Math.Round(f2, 2);
Console.WriteLine(d2); // 3.1
float f3 = 3.0000f;
double d3 = Math.Round(f3, 2);
Console.WriteLine(d3); // 3
}
}
Использование ToString()
метод
Мы можем использовать ToString()
метод для форматирования значения с плавающей запятой до нескольких знаков после запятой. ToString()
Метод принимает строку числового формата и преобразует текущее значение экземпляра в эквивалентную строку. Чтобы ограничить число с плавающей запятой до 2 знаков после запятой, вы можете использовать #.##
спецификатор формата, как показано ниже:
public class Example
{
public static void Main()
{
float f = 3.14285f;
string s = f.ToString("#.##");
Console.WriteLine(s); // 3.14
}
}
C# предлагает несколько спецификаторов стандартного формата, которые можно использовать для округления значения с плавающей запятой до 2 знаков после запятой. Они обсуждаются ниже:
Спецификатор пользовательского формата «0».
public class Example
{
public static void Main()
{
float f = 3.14285f;
string s = f.ToString("0.00");
Console.WriteLine(s); // 3.14
}
}
Спецификатор формата фиксированной точки (F)
public class Example
{
public static void Main()
{
float f = 3.14285f;
string s = f.ToString("F2");
Console.WriteLine(s); // 3.14
}
}
Спецификатор числового формата (N) с разделителями групп
public class Example
{
public static void Main()
{
float f1 = 3.14285f;
Console.WriteLine(f1.ToString("N2")); // 3.14
float f2 = 10000.874287f;
Console.WriteLine(f2.ToString("N2")); // 10,000.87
}
}
Использование String.Format()
метод
Подобно ToString()
метод, вы можете использовать String.Format()
метод округления значения с плавающей запятой до 2 знаков после запятой. Следующий пример иллюстрирует использование #.##
спецификатор формата, 0
спецификатор пользовательского формата, спецификатор формата с фиксированной точкой (F)
и спецификатор числового формата (N)
.
public class Example
{
public static void Main()
{
float f = 3.14285f;
string s = String.Format("{0:0.00}", f);
Console.WriteLine(s); // 3.14
s = String.Format("{0:#.##}", f);
Console.WriteLine(s); // 3.14
s = String.Format("{0:F2}", f);
Console.WriteLine(s); // 3.14
s = String.Format("{0:N2}", f);
Console.WriteLine(s); // 3.14
}
}
Вот и все, что касается округления числа с плавающей запятой до 2 знаков после запятой в C#.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.