Десятичное значение состоит из трех частей. Первую часть составляет 96-разрядное целое значение, вторую — флаг знака, третью — масштабный коэффициент. В частности, 96-разрядное целое значение передается конструктору тремя 32-разрядными фрагментами с помощью параметров
Вместо того чтобы передавать каждую составляющую объекта типаDecimalотдельно, все его составляющие можно указать в массиве, используя следующий конструктор.
public Decimal(int[]
Три первых элемента типаintв массиве
В структуреDecimalреализуются следующие интерфейсы:IComparable, IComparable
В приведенном ниже примере программы значение типаdecimalформируется вручную.
// Сформировать десятичное число вручную.
using System;
class CreateDec {
static void Main {
decimal d = new decimal(12345, 0, 0, false, 2);
Console.WriteLine(d);
}
}
Эта программа дает следующий результат.
123.45
В данном примере значение 96-разрядного целого числа равно 12345. У него положительный знак и два десятичных разряда в дробной части.
Методы, определенные в структуреDecimal,приведены в табл._21.7, а поля — в табл. 21.8. Кроме того, в структуреDecimalопределяется обширный ряд операторов и преобразований, позволяющих использовать десятичные значения вместе со значениями
Глава 21. Пространство имен System 737 Таблица 21.7. Методы, определенные в структуре Decimal
Метод
Назначение
public static decimal Add(decimal
Возвращает значение
public static decimal
Возвращает наименьшее целое, которое представ
Ceiling(d)
лено в виде значения типа decimal и не меньше d. Так, если d равно 1,02, метод Ceiling возвращает значение 2,0. А если d равно -1,02, то метод Ceiling () возвращает значение -1
public static int
Сравнивает числовое значение
Compare(decimal
public int CompareTo(object