# Decimal Структура

## Определение

Представляет десятичное число с плавающей запятой.Represents a decimal floating-point number.

``public value class Decimal : IComparable, IComparable<System::Decimal>, IConvertible, IEquatable<System::Decimal>, IFormattable, System::Runtime::Serialization::IDeserializationCallback``
``````[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct Decimal : IComparable, IComparable<decimal>, IConvertible, IEquatable<decimal>, IFormattable, System.Runtime.Serialization.IDeserializationCallback``````
``````type decimal = struct
interface IFormattable
interface IConvertible
interface IDeserializationCallback``````
``````Public Structure Decimal
Implements IComparable, IComparable(Of Decimal), IConvertible, IDeserializationCallback, IEquatable(Of Decimal), IFormattable``````
Наследование
Decimal
Атрибуты
Реализации

## Примеры

В следующем коде показано использование функции Decimal.The following code example demonstrates the use of Decimal.

``````   /// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
public ref class PiggyBank
{
protected:
Decimal MyFortune;

public:
{
MyFortune = System::Decimal::Add( MyFortune, Decimal(.01) );
}

System::Decimal Capacity()
{
return MyFortune.MaxValue;
}

Decimal Dollars()
{
return Decimal::Floor( MyFortune );
}

Decimal Cents()
{
return Decimal::Subtract( MyFortune, Decimal::Floor( MyFortune ) );
}

virtual System::String^ ToString() override
{
return MyFortune.ToString("C")+" in piggy bank";
}
};
}
``````
``````/// <summary>
/// Keeping my fortune in Decimals to avoid the round-off errors.
/// </summary>
class PiggyBank {
protected decimal MyFortune;

public void AddPenny() {
MyFortune = Decimal.Add(MyFortune, .01m);
}

public decimal Capacity {
get {
return Decimal.MaxValue;
}
}

public decimal Dollars {
get {
return Decimal.Floor(MyFortune);
}
}

public decimal Cents {
get {
return Decimal.Subtract(MyFortune, Decimal.Floor(MyFortune));
}
}

public override string ToString() {
return MyFortune.ToString("C")+" in piggy bank";
}
}
``````
``````' Keeping my fortune in Decimals to avoid the round-off errors.
Class PiggyBank
Protected MyFortune As Decimal

MyFortune = [Decimal].Add(MyFortune, 0.01D)
End Sub

Public ReadOnly Property Capacity() As Decimal
Get
Return [Decimal].MaxValue
End Get
End Property

Public ReadOnly Property Dollars() As Decimal
Get
Return [Decimal].Floor(MyFortune)
End Get
End Property

Public ReadOnly Property Cents() As Decimal
Get
Return [Decimal].Subtract(MyFortune, [Decimal].Floor(MyFortune))
End Get
End Property

Public Overrides Function ToString() As String
Return MyFortune.ToString("C") + " in piggy bank"
End Function
End Class
``````

## Комментарии

Тип значения Decimal представляет десятичные числа в диапазоне от плюс 79,228,162,514,264,337,593,543,950,335 до минус 79,228,162,514,264,337,593,543,950,335.The Decimal value type represents decimal numbers ranging from positive 79,228,162,514,264,337,593,543,950,335 to negative 79,228,162,514,264,337,593,543,950,335. Значение `Decimal` по умолчанию равно 0.The default value of a `Decimal` is 0. Тип значения Decimal подходит для финансовых вычислений, требующих большого числа значащих десятичных и дробных цифр и отсутствия ошибок округления.The Decimal value type is appropriate for financial calculations that require large numbers of significant integral and fractional digits and no round-off errors. Тип Decimal не устраняет необходимость округления.The Decimal type does not eliminate the need for rounding. Но он сводит к минимуму ошибки, возникающие из-за округления.Rather, it minimizes errors due to rounding. Например, следующий код создает результат 0.9999999999999999999999999999 вместо 1.For example, the following code produces a result of 0.9999999999999999999999999999 instead of 1.

``````using namespace System;

void main()
{
Decimal dividend = Decimal::One;
Decimal divisor = 3;
// The following displays 0.9999999999999999999999999999 to the console
Console::WriteLine(dividend/divisor * divisor);
}
``````
``````decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 0.9999999999999999999999999999 to the console
Console.WriteLine(dividend/divisor * divisor);
``````
``````Dim dividend As Decimal = Decimal.One
Dim divisor As Decimal = 3
' The following displays 0.9999999999999999999999999999 to the console
Console.WriteLine(dividend/divisor * divisor)
``````

Когда результат деления и умножения передается в метод Round, результат не теряет точности, как показано в следующем коде.When the result of the division and multiplication is passed to the Round method, the result suffers no loss of precision, as the following code shows.

``````using namespace System;

void main()
{
Decimal dividend = Decimal::One;
Decimal divisor = 3;
// The following displays 1.00 to the console
Console::WriteLine(Math::Round(dividend/divisor * divisor, 2));
}
``````
``````decimal dividend = Decimal.One;
decimal divisor = 3;
// The following displays 1.00 to the console
Console.WriteLine(Math.Round(dividend/divisor * divisor, 2));
``````
``````Dim dividend As Decimal = Decimal.One
Dim divisor As Decimal = 3
' The following displays 1.00 to the console
Console.WriteLine(Math.Round(dividend/divisor * divisor, 2))
``````

Десятичное число — это значение с плавающей запятой, состоящее из знака, числового значения, где каждая цифра в диапазоне от 0 до 9, и коэффициент масштабирования, указывающий позицию плавающей десятичной запятой, разделяющую целую и дробную части элемента числовое значение.A decimal number is a floating-point value that consists of a sign, a numeric value where each digit in the value ranges from 0 to 9, and a scaling factor that indicates the position of a floating decimal point that separates the integral and fractional parts of the numeric value.

Двоичное представление значения Decimal состоит из 1-разрядного знака, 96-разрядного целого числа и коэффициента масштабирования, используемого для деления 96-разрядного целого числа и указания того, какая часть является десятичной дробью.The binary representation of a Decimal value consists of a 1-bit sign, a 96-bit integer number, and a scaling factor used to divide the 96-bit integer and specify what portion of it is a decimal fraction. Коэффициент масштабирования неявно является числом 10, возведенным в степень в диапазоне от 0 до 28.The scaling factor is implicitly the number 10, raised to an exponent ranging from 0 to 28. Таким образом, двоичное представление Decimal значения в форме ((от-296 до 296)/10(от 0 до 28)), где-(296-1) равно MinValue, а 296-1 равно MaxValue.Therefore, the binary representation of a Decimal value the form, ((-296 to 296) / 10(0 to 28)), where -(296-1) is equal to MinValue, and 296-1 is equal to MaxValue. Дополнительные сведения о двоичном представлении значений Decimal и пример см. в разделе Конструктор Decimal(Int32[]) и метод GetBits.For more information about the binary representation of Decimal values and an example, see the Decimal(Int32[]) constructor and the GetBits method.

Коэффициент масштабирования также сохраняет конечные нули в Decimalном числе.The scaling factor also preserves any trailing zeros in a Decimal number. Замыкающие нули не влияют на значение Decimalного числа в арифметических операциях или сравнениях.Trailing zeros do not affect the value of a Decimal number in arithmetic or comparison operations. Однако замыкающие нули могут быть отображены методом ToString, если применяется соответствующая строка формата.However, trailing zeros might be revealed by the ToString method if an appropriate format string is applied.

### Рекомендации по преобразованиюConversion Considerations

Этот тип предоставляет методы, которые преобразуют значения Decimal в SByte, Int16, Int32, Int64, Byte, UInt16, UInt32и UInt64.This type provides methods that convert Decimal values to and from SByte, Int16, Int32, Int64, Byte, UInt16, UInt32, and UInt64 values. Преобразования из этих целочисленных типов в Decimal являются расширяющими преобразованиями, которые никогда не теряют информацию или создают исключения.Conversions from these integral types to Decimal are widening conversions that never lose information or throw exceptions.

Преобразования из Decimal в любой из целочисленных типов являются сужающими преобразованиями, которые округляют Decimal значение до ближайшего целого числа в сторону нуля.Conversions from Decimal to any of the integral types are narrowing conversions that round the Decimal value to the nearest integer value toward zero. Некоторые языки, такие как C#, также поддерживают преобразование значений Decimal в Char значения.Some languages, such as C#, also support the conversion of Decimal values to Char values. Если результат этих преобразований не может быть представлен в целевом типе, возникает исключение OverflowException.If the result of these conversions cannot be represented in the destination type, an OverflowException exception is thrown.

Тип Decimal также предоставляет методы, которые преобразуют значения Decimal в значения Single и Double.The Decimal type also provides methods that convert Decimal values to and from Single and Double values. Преобразования из Decimal в Single или Double являются сужающими преобразованиями, которые могут потерять точность, но не сведения о величине преобразованного значения.Conversions from Decimal to Single or Double are narrowing conversions that might lose precision but not information about the magnitude of the converted value. Преобразование не создает исключение.The conversion does not throw an exception.

Преобразования из Single или Double в Decimal вызывают исключение OverflowException, если результат преобразования не может быть представлен как Decimal.Conversions from Single or Double to Decimal throw an OverflowException exception if the result of the conversion cannot be represented as a Decimal.

### Выполнение операций с десятичными значениямиPerforming Operations on Decimal Values

Тип Decimal поддерживает стандартные математические операции, такие как сложение, вычитание, деление, умножение и унарное отрицание.The Decimal type supports standard mathematical operations such as addition, subtraction, division, multiplication, and unary negation. Вы также можете работать непосредственно с двоичным представлением Decimal значения, вызвав метод GetBits.You can also work directly with the binary representation of a Decimal value by calling the GetBits method.

Чтобы сравнить значения двух Decimal, можно использовать стандартные операторы числового сравнения или вызвать метод CompareTo или Equals.To compare two Decimal values, you can use the standard numeric comparison operators, or you can call the CompareTo or Equals method.

Можно также вызывать члены класса Math для выполнения широкого спектра числовых операций, включая получение абсолютного значения числа, определение максимального или минимального значения двух Decimal значений, получение знака числа и округляя число.You can also call the members of the Math class to perform a wide range of numeric operations, including getting the absolute value of a number, determining the maximum or minimum value of two Decimal values, getting the sign of a number, and rounding a number.

## Конструкторы

 Инициализирует новый экземпляр Decimal, используя значение заданного числа двойной точности с плавающей запятой.Initializes a new instance of Decimal to the value of the specified double-precision floating-point number. Инициализирует новый экземпляр Decimal, используя значение указанного 32-разрядного целого числа со знаком.Initializes a new instance of Decimal to the value of the specified 32-bit signed integer. Инициализирует новый экземпляр Decimal на основе параметров, задающих составные части экземпляра.Initializes a new instance of Decimal from parameters specifying the instance's constituent parts. Инициализирует новый экземпляр Decimal с представленным в двоичном виде десятичным значением, содержащимся в указанном массиве.Initializes a new instance of Decimal to a decimal value represented in binary and contained in a specified array. Инициализирует новый экземпляр Decimal, используя значение указанного 64-разрядного целого числа со знаком.Initializes a new instance of Decimal to the value of the specified 64-bit signed integer. Инициализирует новый экземпляр Decimal, используя значение заданного числа одиночной точности с плавающей запятой.Initializes a new instance of Decimal to the value of the specified single-precision floating-point number. Инициализирует новый экземпляр Decimal, используя значение указанного 32-разрядного целого числа без знака.Initializes a new instance of Decimal to the value of the specified 32-bit unsigned integer. Инициализирует новый экземпляр Decimal, используя значение указанного 64-разрядного целого числа без знака.Initializes a new instance of Decimal to the value of the specified 64-bit unsigned integer.

## Поля

 Представляет наибольшее возможное значение типа Decimal.Represents the largest possible value of Decimal. В этом поле содержится константа, и оно доступно только для чтения.This field is constant and read-only. Представляет число минус один (-1).Represents the number negative one (-1). Представляет минимально допустимое значение типа Decimal.Represents the smallest possible value of Decimal. В этом поле содержится константа, и оно доступно только для чтения.This field is constant and read-only. Представляет число один (1).Represents the number one (1). Представляет число нуль (0).Represents the number zero (0).

## Методы

 Суммирует два заданных значения типа Decimal.Adds two specified Decimal values. Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу.Returns the smallest integral value that is greater than or equal to the specified decimal number. Сравнивает два заданных значения Decimal.Compares two specified Decimal values. Сравнивает этот экземпляр с заданным объектом Decimal и возвращает сравнение значений этих объектов.Compares this instance to a specified Decimal object and returns a comparison of their relative values. Сравнивает этот экземпляр с заданным объектом и возвращает сравнение значений этих объектов.Compares this instance to a specified object and returns a comparison of their relative values. Выполняет деление двух заданных значений типа Decimal.Divides two specified Decimal values. Возвращает значение, позволяющее определить, представляют ли этот экземпляр и заданный объект Decimal одно и то же значение.Returns a value indicating whether this instance and a specified Decimal object represent the same value. Возвращает значение, позволяющее определить, представляют ли два заданных экземпляра Decimal равные значения.Returns a value indicating whether two specified instances of Decimal represent the same value. Возвращает значение, позволяющее определить, представляют ли этот экземпляр и заданный объект Object равные значения и типы.Returns a value indicating whether this instance and a specified Object represent the same type and value. Округляет заданное число типа Decimal до ближайшего целого в направлении минус бесконечности.Rounds a specified Decimal number to the closest integer toward negative infinity. Преобразует заданное 64-разрядное целое число со знаком, соответствующее значению денежного типа OLE-автоматизации, в эквивалентное значение типа Decimal.Converts the specified 64-bit signed integer, which contains an OLE Automation Currency value, to the equivalent Decimal value. Преобразует значение заданного экземпляра Decimal в эквивалентное ему двоичное представление.Converts the value of a specified instance of Decimal to its equivalent binary representation. Возвращает хэш-код данного экземпляра.Returns the hash code for this instance. Возвращает TypeCode для типа значения Decimal.Returns the TypeCode for value type Decimal. Умножает два заданных значения Decimal.Multiplies two specified Decimal values. Возвращает результат умножения заданного значения Decimal на минус единицу.Returns the result of multiplying the specified Decimal value by negative one. Преобразует представление числа в виде диапазона в его эквивалент Decimal, используя заданный стиль и формат для языка и региональных параметров.Converts the span representation of a number to its Decimal equivalent using the specified style and culture-specific format. Преобразует строковое представление числа в его эквивалент типа Decimal.Converts the string representation of a number to its Decimal equivalent. Преобразует строковое представление числа в его эквивалент Decimal, используя заданные сведения о формате для языка и региональных параметров.Converts the string representation of a number to its Decimal equivalent using the specified culture-specific format information. Преобразует строковое представление числа с указанным стилем в его эквивалент в формате Decimal.Converts the string representation of a number in a specified style to its Decimal equivalent. Преобразует строковое представление числа в его эквивалент Decimal, используя заданный стиль и формат для языка и региональных параметров.Converts the string representation of a number to its Decimal equivalent using the specified style and culture-specific format. Вычисляет остаток после деления двух значений типа Decimal.Computes the remainder after dividing two Decimal values. Округляет десятичное значение до ближайшего целого.Rounds a decimal value to the nearest integer. Округляет значение Decimal до указанного числа десятичных знаков.Rounds a Decimal value to a specified number of decimal places. Округляет десятичное значение с указанной точностью.Rounds a decimal value to a specified precision. Параметр задает правило округления значения, если оно находится ровно посредине между двумя другими числами.A parameter specifies how to round the value if it is midway between two other numbers. Округляет десятичное значение до ближайшего целого.Rounds a decimal value to the nearest integer. Параметр задает правило округления значения, если оно находится ровно посредине между двумя другими числами.A parameter specifies how to round the value if it is midway between two other numbers. Вычитает одно указанное значение типа Decimal из другого.Subtracts one specified Decimal value from another. Преобразует значение заданного объекта типа Decimal в эквивалентное 8-разрядное целое число без знака.Converts the value of the specified Decimal to the equivalent 8-bit unsigned integer. Преобразует значение заданного значения типа Decimal в эквивалентное число двойной точности с плавающей запятой.Converts the value of the specified Decimal to the equivalent double-precision floating-point number. Преобразует значение заданного объекта типа Decimal в эквивалентное 16-разрядное число со знаком.Converts the value of the specified Decimal to the equivalent 16-bit signed integer. Преобразует значение заданного объекта типа Decimal в эквивалентное 32-разрядное целое число со знаком.Converts the value of the specified Decimal to the equivalent 32-bit signed integer. Преобразует значение заданного объекта типа Decimal в эквивалентное 64-разрядное целое число со знаком.Converts the value of the specified Decimal to the equivalent 64-bit signed integer. Преобразует заданное значение Decimal в эквивалентное значение денежного типа OLE-автоматизации, в котором содержится 64-разрядное целое число со знаком.Converts the specified Decimal value to the equivalent OLE Automation Currency value, which is contained in a 64-bit signed integer. Преобразует значение заданного объекта типа Decimal в эквивалентное 8-разрядное целое число со знаком.Converts the value of the specified Decimal to the equivalent 8-bit signed integer. Преобразует значение заданного объекта типа Decimal в эквивалентное число одиночной точности с плавающей запятой.Converts the value of the specified Decimal to the equivalent single-precision floating-point number. Преобразовывает числовое значение данного экземпляра в эквивалентное ему строковое представление.Converts the numeric value of this instance to its equivalent string representation. Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление с использованием указанных сведений об особенностях форматирования для данного языка и региональных параметров.Converts the numeric value of this instance to its equivalent string representation using the specified culture-specific format information. Преобразует числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.Converts the numeric value of this instance to its equivalent string representation, using the specified format. Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях форматирования для данного языка и региональных параметров.Converts the numeric value of this instance to its equivalent string representation using the specified format and culture-specific format information. Преобразует значение заданного объекта типа Decimal в эквивалентное 16-разрядное целое число без знака.Converts the value of the specified Decimal to the equivalent 16-bit unsigned integer. Преобразует значение заданного объекта типа Decimal в эквивалентное 32-разрядное целое число без знака.Converts the value of the specified Decimal to the equivalent 32-bit unsigned integer. Преобразует значение заданного объекта типа Decimal в эквивалентное 64-разрядное целое число без знака.Converts the value of the specified Decimal to the equivalent 64-bit unsigned integer. Возвращает цифры целой части заданного значения типа Decimal; все цифры дробной части удаляются.Returns the integral digits of the specified Decimal; any fractional digits are discarded. Пытается отформатировать значение текущего экземпляра десятичного числа в указанный диапазон символов.Tries to format the value of the current decimal instance into the provided span of characters. Преобразует представление числа в виде диапазона в его эквивалент Decimal, используя заданный стиль и формат для языка и региональных параметров.Converts the span representation of a number to its Decimal equivalent using the specified style and culture-specific format. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed. Преобразует представление числа в виде диапазона в его эквивалент Decimal, используя заданный стиль и формат для языка и региональных параметров.Converts the span representation of a number to its Decimal equivalent using the specified style and culture-specific format. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed. Преобразует строковое представление числа в его эквивалент типа Decimal.Converts the string representation of a number to its Decimal equivalent. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed. Преобразует строковое представление числа в его эквивалент Decimal, используя заданный стиль и формат для языка и региональных параметров.Converts the string representation of a number to its Decimal equivalent using the specified style and culture-specific format. Возвращает значение, указывающее, успешно ли выполнено преобразование.A return value indicates whether the conversion succeeded or failed.

## Операторы

 Суммирует два заданных значения типа Decimal.Adds two specified Decimal values. Уменьшает операнд типа Decimal на единицу.Decrements the Decimal operand by one. Выполняет деление двух заданных значений типа Decimal.Divides two specified Decimal values. Возвращает значение, определяющее, равны ли два значения Decimal.Returns a value that indicates whether two Decimal values are equal. Определяет явное преобразование Decimalв 8-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to an 8-bit unsigned integer. Определяет явное преобразование объекта Decimal в символ Юникод.Defines an explicit conversion of a Decimal to a Unicode character. Определяет явное преобразование Decimal в число с плавающей запятой двойной точности.Defines an explicit conversion of a Decimal to a double-precision floating-point number. Определяет явное преобразование Decimal в 16-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 16-bit signed integer. Определяет явное преобразование Decimal в 32-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 32-bit signed integer. Определяет явное преобразование Decimal в 64-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 64-bit signed integer. Определяет явное преобразование Decimal в 8-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to an 8-bit signed integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет явное преобразование Decimal в число с плавающей запятой одинарной точности.Defines an explicit conversion of a Decimal to a single-precision floating-point number. Определяет явное преобразование Decimalв 16-разрядное целое число со знаком.Defines an explicit conversion of a Decimal to a 16-bit unsigned integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет явное преобразование Decimal в 32-разрядное целое число без знака.Defines an explicit conversion of a Decimal to a 32-bit unsigned integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет явное преобразование Decimal в 64-разрядное целое число без знака.Defines an explicit conversion of a Decimal to a 64-bit unsigned integer. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет явное преобразование числа с плавающей запятой двойной точности в Decimal.Defines an explicit conversion of a double-precision floating-point number to a Decimal. Определяет явное преобразование числа с плавающей запятой одинарной точности в Decimal.Defines an explicit conversion of a single-precision floating-point number to a Decimal. Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal больше другого заданного значения типа Decimal.Returns a value indicating whether a specified Decimal is greater than another specified Decimal. Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal больше или равно другому заданному значению типа Decimal.Returns a value indicating whether a specified Decimal is greater than or equal to another specified Decimal. Определяет неявное преобразование 8-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of an 8-bit unsigned integer to a Decimal. Определяет неявное преобразование символа Юникода в значение типа Decimal.Defines an implicit conversion of a Unicode character to a Decimal. Определяет неявное преобразование 16-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of a 16-bit signed integer to a Decimal. Определяет неявное преобразование 32-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of a 32-bit signed integer to a Decimal. Определяет неявное преобразование 64-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of a 64-bit signed integer to a Decimal. Определяет неявное преобразование 8-разрядного целого числа со знаком в значение типа Decimal.Defines an implicit conversion of an 8-bit signed integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет неявное преобразование 16-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of a 16-bit unsigned integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет неявное преобразование 32-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of a 32-bit unsigned integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Определяет неявное преобразование 64-разрядного целого числа без знака в значение типа Decimal.Defines an implicit conversion of a 64-bit unsigned integer to a Decimal. Этот интерфейс API CLS-несовместим.This API is not CLS-compliant. Увеличивает операнд Decimal на 1.Increments the Decimal operand by 1. Возвращает значение, указывающее, имеют ли два объекта Decimal различные значения.Returns a value that indicates whether two Decimal objects have different values. Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal меньше другого заданного значения типа Decimal.Returns a value indicating whether a specified Decimal is less than another specified Decimal. Возвращает значение, позволяющее определить, действительно ли заданное значение типа Decimal меньше или равно другому заданному значению типа Decimal.Returns a value indicating whether a specified Decimal is less than or equal to another specified Decimal. Возвращает остаток от деления двух заданных значений Decimal.Returns the remainder resulting from dividing two specified Decimal values. Умножает два заданных значения типа Decimal.Multiplies two specified Decimal values. Находит разность двух заданных значений типа Decimal.Subtracts two specified Decimal values. Делает отрицательным значение заданного операнда типа Decimal.Negates the value of the specified Decimal operand. Возвращает значение операнда Decimal (знак операнда при этом не меняется).Returns the value of the Decimal operand (the sign of the operand is unchanged).

## Явные реализации интерфейса

 Описание этого члена см. в разделе ToBoolean(IFormatProvider).For a description of this member, see ToBoolean(IFormatProvider). Описание этого члена см. в разделе ToByte(IFormatProvider).For a description of this member, see ToByte(IFormatProvider). Данное преобразование не поддерживается.This conversion is not supported. При попытке использовать этот метод выбрасывается исключение InvalidCastException.Attempting to use this method throws an InvalidCastException. Данное преобразование не поддерживается.This conversion is not supported. При попытке использовать этот метод выбрасывается исключение InvalidCastException.Attempting to use this method throws an InvalidCastException. Описание этого члена см. в разделе ToDecimal(IFormatProvider).For a description of this member, see ToDecimal(IFormatProvider). Описание этого члена см. в разделе ToDouble(IFormatProvider).For a description of this member, see ToDouble(IFormatProvider). Описание этого члена см. в разделе ToInt16(IFormatProvider).For a description of this member, see ToInt16(IFormatProvider). Описание этого члена см. в разделе ToInt32(IFormatProvider).For a description of this member, see ToInt32(IFormatProvider). Описание этого члена см. в разделе ToInt64(IFormatProvider).For a description of this member, see ToInt64(IFormatProvider). Описание этого члена см. в разделе ToSByte(IFormatProvider).For a description of this member, see ToSByte(IFormatProvider). Описание этого члена см. в разделе ToSingle(IFormatProvider).For a description of this member, see ToSingle(IFormatProvider). Описание этого члена см. в разделе ToType(Type, IFormatProvider).For a description of this member, see ToType(Type, IFormatProvider). Описание этого члена см. в разделе ToUInt16(IFormatProvider).For a description of this member, see ToUInt16(IFormatProvider). Описание этого члена см. в разделе ToInt32(IFormatProvider).For a description of this member, see ToInt32(IFormatProvider). Описание этого члена см. в разделе ToInt64(IFormatProvider).For a description of this member, see ToInt64(IFormatProvider). Выполняется после завершения десериализации объекта.Runs when the deserialization of an object has been completed.

## Потокобезопасность

Все члены этого типа являются потокобезопасными.All members of this type are thread safe. Члены, которые могут изменить состояние экземпляра, в действительности возвращают новый экземпляр, инициализированный новым значением.Members that appear to modify instance state actually return a new instance initialized with the new value. Как с любым другим типом, чтение и запись общей переменной, которая содержит экземпляр этого типа, должны быть защищены блокировкой для обеспечения потокобезопасности.As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.