- Decimal. Round Метод
- Перегрузки
- Round(Decimal, Int32, MidpointRounding)
- Параметры
- Возвращаемое значение
- Реализации
- Исключения
- Примеры
- Комментарии
- См. также раздел
- MathF. Round Метод
- Перегрузки
- Round(Single, Int32, MidpointRounding)
- Параметры
- Возвращаемое значение
- Исключения
- Комментарии
- См. также раздел
- Применяется к
- Round(Single, MidpointRounding)
- Параметры
- Возвращаемое значение
- Исключения
- Комментарии
- См. также раздел
- Применяется к
- Round(Single)
- Параметры
- Возвращаемое значение
- Комментарии
- Примечания для тех, кто вызывает этот метод
- См. также раздел
Decimal. Round Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Округляет значение до ближайшего целого или указанного количества десятичных знаков.
Перегрузки
Округляет десятичное значение до указанной точности, используя указанную стратегию округления.
Округляет десятичное значение до целого числа, используя указанную стратегию округления.
Округляет десятичное значение до ближайшего целого.
Округляет значение Decimal до указанного числа десятичных знаков.
Round(Decimal, Int32, MidpointRounding)
Округляет десятичное значение до указанной точности, используя указанную стратегию округления.
public: static System::Decimal Round(System::Decimal d, int decimals, MidpointRounding mode);
public: static System::Decimal Round(System::Decimal d, int decimals, MidpointRounding mode) = System::Numerics::IFloatingPoint::Round;
public static decimal Round (decimal d, int decimals, MidpointRounding mode);
static member Round : decimal * int * MidpointRounding -> decimal
Public Shared Function Round (d As Decimal, decimals As Integer, mode As MidpointRounding) As Decimal
Параметры
Округляемое десятичное число.
Количество значащих десятичных знаков дробной части числа (точность) возвращаемого значения.
Одно из значений перечисления, указывающее, какую стратегию округления следует использовать.
Возвращаемое значение
Число, округляемое d до с помощью mode стратегии округления и с точностью decimals . Если точность d меньше, чем decimals , то d возвращается без изменений.
Реализации
Исключения
Параметр decimals имеет значение меньше 0 или больше 28.
mode не является значением MidpointRounding.
Полученное значение находится вне допустимого диапазона объекта Decimal.
Примеры
В следующем примере показано, как использовать Round(Decimal, Int32, MidpointRounding) метод с перечислением MidpointRounding .
decimal result; // Round a positive value using different strategies. // The precision of the result is 1 decimal place. result = Math.Round(3.45m, 1, MidpointRounding.ToEven); Console.WriteLine($" = Math.Round(, 1, MidpointRounding.ToEven)"); result = Math.Round(3.45m, 1, MidpointRounding.AwayFromZero); Console.WriteLine($" = Math.Round(, 1, MidpointRounding.AwayFromZero)"); result = Math.Round(3.47m, 1, MidpointRounding.ToZero); Console.WriteLine($" = Math.Round(, 1, MidpointRounding.ToZero)\n"); // Round a negative value using different strategies. // The precision of the result is 1 decimal place. result = Math.Round(-3.45m, 1, MidpointRounding.ToEven); Console.WriteLine($" = Math.Round(, 1, MidpointRounding.ToEven)"); result = Math.Round(-3.45m, 1, MidpointRounding.AwayFromZero); Console.WriteLine($" = Math.Round(, 1, MidpointRounding.AwayFromZero)"); result = Math.Round(-3.47m, 1, MidpointRounding.ToZero); Console.WriteLine($" = Math.Round(, 1, MidpointRounding.ToZero)\n"); /* This code example produces the following results: 3.4 = Math.Round(3.45, 1, MidpointRounding.ToEven) 3.5 = Math.Round(3.45, 1, MidpointRounding.AwayFromZero) 3.4 = Math.Round(3.47, 1, MidpointRounding.ToZero) -3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven) -3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero) -3.4 = Math.Round(-3.47, 1, MidpointRounding.ToZero) */
// Round a positive value using different strategies. // The precision of the result is 1 decimal place. let result = Math.Round(3.45m, 1, MidpointRounding.ToEven) printfn $" = Math.Round(, 1, MidpointRounding.ToEven)" let result = Math.Round(3.45m, 1, MidpointRounding.AwayFromZero) printfn $" = Math.Round(, 1, MidpointRounding.AwayFromZero)" let result = Math.Round(3.47m, 1, MidpointRounding.ToZero) printfn $" = Math.Round(, 1, MidpointRounding.ToZero)\n" // Round a negative value using different strategies. // The precision of the result is 1 decimal place. let result = Math.Round(-3.45m, 1, MidpointRounding.ToEven) printfn $" = Math.Round(, 1, MidpointRounding.ToEven)" let result = Math.Round(-3.45m, 1, MidpointRounding.AwayFromZero) printfn $" = Math.Round(, 1, MidpointRounding.AwayFromZero)" let result = Math.Round(-3.47m, 1, MidpointRounding.ToZero) printfn $" = Math.Round(, 1, MidpointRounding.ToZero)\n" // This code example produces the following results: // 3.4 = Math.Round(3.45, 1, MidpointRounding.ToEven) // 3.5 = Math.Round(3.45, 1, MidpointRounding.AwayFromZero) // 3.4 = Math.Round(3.47, 1, MidpointRounding.ToZero) // -3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven) // -3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero) // -3.4 = Math.Round(-3.47, 1, MidpointRounding.ToZero)
Dim result As Decimal = 0D Dim posValue As Decimal = 3.45D Dim negValue As Decimal = -3.45D ' Round a positive value using different strategies. ' The precision of the result is 1 decimal place. result = Math.Round(posValue, 1, MidpointRounding.ToEven) Console.WriteLine(" = Math.Round(, 1, MidpointRounding.ToEven)", result, posValue) result = Math.Round(posValue, 1, MidpointRounding.AwayFromZero) Console.WriteLine(" = Math.Round(, 1, MidpointRounding.AwayFromZero)", result, posValue) result = Math.Round(posValue, 1, MidpointRounding.ToZero) Console.WriteLine(" = Math.Round(, 1, MidpointRounding.ToZero)", result, posValue) Console.WriteLine() ' Round a negative value using different strategies. ' The precision of the result is 1 decimal place. result = Math.Round(negValue, 1, MidpointRounding.ToEven) Console.WriteLine(" = Math.Round(, 1, MidpointRounding.ToEven)", result, negValue) result = Math.Round(negValue, 1, MidpointRounding.AwayFromZero) Console.WriteLine(" = Math.Round(, 1, MidpointRounding.AwayFromZero)", result, negValue) result = Math.Round(negValue, 1, MidpointRounding.ToZero) Console.WriteLine(" = Math.Round(, 1, MidpointRounding.ToZero)", result, negValue) Console.WriteLine() 'This code example produces the following results: ' ' 3.4 = Math.Round(3.45, 1, MidpointRounding.ToEven) ' 3.5 = Math.Round(3.45, 1, MidpointRounding.AwayFromZero) ' 3.4 = Math.Round(3.45, 1, MidpointRounding.ToZero) ' ' -3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven) ' -3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero) ' -3.4 = Math.Round(-3.45, 1, MidpointRounding.ToZero) '
Комментарии
Параметр decimals задает количество значимых десятичных разрядов в возвращаемом значении в диапазоне от 0 до 28. Если decimals равно нулю, возвращается целое число.
Если вы указываете ToEven mode или AwayFromZero для параметра, эти стратегии округления применяются только к средним значениям, т. е. к значениям, наименее значимая цифра которых составляет 5.
См. также раздел
MathF. Round Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
Округляет значение с плавающей запятой с одной точностью до указанного числа дробных цифр, используя указанное соглашение об округлении.
Округляет значение с плавающей запятой с одной точностью до целого числа, используя указанное соглашение об округлении.
Округляет значение с плавающей запятой одиночной точности до ближайшего целого значения; значения посередине округляются до ближайшего четного числа.
Округляет значение с плавающей запятой одиночной точности до указанного числа знаков после запятой; значения посередине округляются до ближайшего четного числа.
Round(Single, Int32, MidpointRounding)
Округляет значение с плавающей запятой с одной точностью до указанного числа дробных цифр, используя указанное соглашение об округлении.
public: static float Round(float x, int digits, MidpointRounding mode);
public static float Round (float x, int digits, MidpointRounding mode);
static member Round : single * int * MidpointRounding -> single
Public Shared Function Round (x As Single, digits As Integer, mode As MidpointRounding) As Single
Параметры
Округляемое число одиночной точности с плавающей запятой.
Количество цифр дробной части в возвращаемом значении.
Одно из значений перечисления, указывающее, какую стратегию округления следует использовать.
Возвращаемое значение
Число, x округленное до , имеет digits дробные цифры. Если x имеет меньшее количество цифр дробной части, чем digits , то x возвращается без изменений.
Исключения
Параметр digits имеет значение меньше 0 или больше 6.
mode не является допустимым значением MidpointRounding.
Комментарии
Значение аргумента digits может варьироваться от 0 до 6. Максимальное число целых и дробных цифр, поддерживаемых типом Single , равно 6.
При округлении средних значений алгоритм округления выполняет проверку равенства. Из-за проблем с двоичным представлением и точностью формата с плавающей запятой значение, возвращаемое этим методом, может быть непредвиденным. Дополнительные сведения см. в разделе Округление и точность.
Если аргумент имеет Single.NaNзначение x , метод возвращает Single.NaN. Если x имеет значение Single.PositiveInfinity или Single.NegativeInfinity, метод возвращает Single.PositiveInfinity или Single.NegativeInfinityсоответственно.
См. также раздел
Применяется к
Round(Single, MidpointRounding)
Округляет значение с плавающей запятой с одной точностью до целого числа, используя указанное соглашение об округлении.
public: static float Round(float x, MidpointRounding mode);
public static float Round (float x, MidpointRounding mode);
static member Round : single * MidpointRounding -> single
Public Shared Function Round (x As Single, mode As MidpointRounding) As Single
Параметры
Округляемое число одиночной точности с плавающей запятой.
Одно из значений перечисления, указывающее, какую стратегию округления следует использовать.
Возвращаемое значение
Целое число, округляемое x до с помощью соглашения об mode округлении. Этот метод возвращает Single вместо целочисленного типа.
Исключения
mode не является допустимым значением MidpointRounding.
Комментарии
При округлении средних значений алгоритм округления выполняет проверку равенства. Из-за проблем с двоичным представлением и точностью формата с плавающей запятой значение, возвращаемое этим методом, может быть непредвиденным. Дополнительные сведения см. в разделе Округление и точность.
Если аргумент имеет Single.NaNзначение x , метод возвращает Single.NaN. Если x имеет значение Single.PositiveInfinity или Single.NegativeInfinity, метод возвращает Single.PositiveInfinity или Single.NegativeInfinityсоответственно.
См. также раздел
Применяется к
Round(Single)
Округляет значение с плавающей запятой одиночной точности до ближайшего целого значения; значения посередине округляются до ближайшего четного числа.
public: static float Round(float x);
public static float Round (float x);
static member Round : single -> single
Public Shared Function Round (x As Single) As Single
Параметры
Округляемое число одиночной точности с плавающей запятой.
Возвращаемое значение
Целое число, ближайшее к значению параметра x . Если дробная часть x находится на равном расстоянии от двух целых чисел (четного и нечетного), возвращается четное число. Обратите внимание, что данный метод возвращает не целочисленное значение, а значение типа Single.
Комментарии
Этот метод использует соглашение округления по умолчанию для MidpointRounding.ToEven.
При округлении средних значений алгоритм округления выполняет проверку равенства. Из-за проблем с двоичным представлением и точностью формата с плавающей запятой значение, возвращаемое этим методом, может быть непредвиденным. Дополнительные сведения см. в разделе Округление и точность.
Если аргумент имеет Single.NaNзначение x , метод возвращает Single.NaN. Если x имеет значение Single.PositiveInfinity или Single.NegativeInfinity, метод возвращает Single.PositiveInfinity или Single.NegativeInfinityсоответственно.
Примечания для тех, кто вызывает этот метод
Из-за потери точности, которая может быть результатом представления десятичных значений в виде чисел с плавающей запятой или выполнения арифметических операций со значениями с плавающей запятой, в некоторых случаях Round(Single) метод может не округлить значения середины до ближайшего четного целого числа.