Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

Окончание табл. 21.5

Метод

Назначение

public static bool TryParse(string s, NumberStyles styles, IFormatProvider provider, out double result)

Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в значение

типа double, как указано в форматирующей строке, определяемой параметром format, но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider, а также сведений о стилях, обозначаемых параметром styles. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse , который генерирует исключение при неудачном исходе преобразования

Таблица 21.6. Поля, поддерживаемые структурой Double

Поле

Назначение

public const double public const double MaxValue

public const double MinValue

public const double public const double NegativeInfinity public const double PositiveInfinity

Epsilon

NaN

Наименьшее ненулевое положительное значение Наибольшее значение, допустимое для данных типа

double

Наименьшее значение, допустимое для данных типа

double

Значение, не являющееся числом

Значение, представляющее минус бесконечность

Значение, представляющее плюс бесконечность

Структура Decimal

Структура Decimal немного сложнее, чем ее аналоги для целочисленных типов данных, а также типов данных с плавающей точкой. Она содержит немало конструкторов, полей, методов и операторов, способствующих использованию типа decimal вместе с другими числовыми типами, поддерживаемыми в С#. Так, целый ряд методов из этой структуры обеспечивает преобразование типа decimal в другие числовые типы.

В структуре Decimal определено восемь открытых конструкторов. Ниже приведены шесть наиболее часто используемых из них.

public Decimal(int значение) public Decimal(uint значение) public Decimal(long значение) public Decimal(ulong значение) public Decimal(float значение) public Decimal(double значение)

Каждый из этих конструкторов создает объект типа Decimal из значения указанного типа.

Кроме того, объект типа Decimal может быть создан из отдельно указываемых составляющих с помощью следующего конструктора.

public Decimal(int lo, int mid, int hi, bool IsNegative, byte scale)

Десятичное

значение состоит из трех частей. Первую часть составляет 96-разрядное целое значение, вторую — флаг знака, третью — масштабный коэффициент. В частности, 96-разрядное целое значение передается конструктору тремя 32-разрядными фрагментами с помощью параметров
lo, mid и hi; знак флага — с помощью параметра IsNegative, причем логическое значение false этого параметра обозначает положительное число, тогда как логическое значение true обозначает отрицательное число; а масштабный коэффициент — с помощью параметра scale, принимающего значения от 0 до 28. Этот коэффициент обозначает степень числа 10 (т.е. 10scaJe), на которую делится число для получения его дробной части.

Вместо того чтобы передавать каждую составляющую объекта типа Decimal отдельно, все его составляющие можно указать в массиве, используя следующий конструктор.

public Decimal(int[] bits)

Три первых элемента типа int в массиве bits содержат 96-разрядное целое значение; 31-й разряд содержимого элемента bits [3] обозначает флаг знака (0 — положительное число, 1 — отрицательное число); а в разрядах 16-23 содержится масштабный коэффициент.

В структуре Decimal реализуются следующие интерфейсы: IComparable, IComparable<decimal>, IConvertible, IFormattable, IEquatable<decimal>, а такжеIDeserializationCallback.

В приведенном ниже примере программы значение типа 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 определяется обширный ряд операторов и преобразований, позволяющих использовать десятичные значения вместе со значениями других типов в выражениях. Правила, устанавливающие порядок присваивания десятичных значений и их применения в выражениях, представлены в главе 3.

Поделиться:
Популярные книги

Потомок бога 3

Решетов Евгений Валерьевич
3. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Потомок бога 3

Фиктивный брак

Завгородняя Анна Александровна
Фантастика:
фэнтези
6.71
рейтинг книги
Фиктивный брак

Надуй щеки! Том 6

Вишневский Сергей Викторович
6. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки! Том 6

Товарищ "Чума" 3

lanpirot
3. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 3

Мастер ветров и закатов

Фрай Макс
1. Сновидения Ехо
Фантастика:
фэнтези
8.38
рейтинг книги
Мастер ветров и закатов

Завод 2: назад в СССР

Гуров Валерий Александрович
2. Завод
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Завод 2: назад в СССР

Лейб-хирург

Дроздов Анатолий Федорович
2. Зауряд-врач
Фантастика:
альтернативная история
7.34
рейтинг книги
Лейб-хирург

Хозяин Теней 3

Петров Максим Николаевич
3. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Хозяин Теней 3

Леди для короля. Оборотная сторона короны

Воронцова Александра
3. Королевская охота
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Леди для короля. Оборотная сторона короны

Имя нам Легион. Том 7

Дорничев Дмитрий
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 7

Не грози Дубровскому! Том II

Панарин Антон
2. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том II

Сумеречный Стрелок 10

Карелин Сергей Витальевич
10. Сумеречный стрелок
Фантастика:
рпг
аниме
фэнтези
5.00
рейтинг книги
Сумеречный Стрелок 10

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4