Г. Шилдт - Полный справочник по C# (1160789), страница 95
Текст из файла (страница 95)
D o u b l epublic static bool Islnfinity(double v)Возвращает значение ИСТИНА, если значение v представляетбесконечность (со знаком "плюс" либо со знаком "минус"). Впротивном случае возвращает значение ЛОЖЬpublic static bool IsNaN(double v)Возвращает значение ИСТИНА, если значение v — не число.В противном случае возвращает значение ЛОЖЬpublic static boolIsPositivelnfinity(double v)Возвращает значение ИСТИНА, если значение v представляетбесконечность со знаком "плюс". В противном случае возвращает значение ЛОЖЬpublic static boolIsNegativelnfinity(double v)Возвращает значение ИСТИНА, если значение v представляетбесконечность со знаком "минус". В противном случае возвращает значение ЛОЖЬpublic static double Parse(string str)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре str.
Если содержимое строкине представляет значение типа d o u b l e , генерируется исключениеpublic static double Parse (string str,IFormatProvider fmtpvdr)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r с использованием форматовданных (присущих конкретному естественному языку, диалектуили территориальному образованию), заданных посредствомпараметра fmtpvdr. Если содержимое строки не представляет значение типа d o u b l e , генерируется исключениеpublic static double Parse(string str,NumberStyles styles)Возвращает двоичный эквивалент строкового представлениячисла, заданного в параметре strt с использованием информации стилевого характера, заданной в параметреstyles.Если содержимое строки не представляет значениетипа d o u b l e , генерируется исключениеГлава 19.
Пространство имен System513Окончание табл. 19.5Методpublic static double Parse(string str,NumberStyles styles,IFormatProvider fmtpvdr)public override string ToStringOpublic string ToString(string format)public string ToString(IFormatProvider fmtpvdr)ОписаниеВозвращает двоичный эквивалент строкового представлениячисла, заданного в параметре s t r , с использованием информации стилевого характера, заданной в параметреstyles, а также форматов данных (присущих конкретномуестественному языку, диалекту или территориальному образованию), заданных посредством параметра fmtpvdr.
Еслисодержимое строки не представляет значение типа d o u b l e ,генерируется исключениеВозвращает строковое представление значения вызывающегообъектаВозвращает строковое представление значения вызывающегообъекта в соответствии с требованиями форматирующейстроки, переданной в параметре forma tВозвращает строковое представление значения вызывающегообъекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметраfmtpvdrpublic string ToString(string format,IFormatProvider fmtpvdr)Возвращает строковое представление значения вызывающегообъекта с использованием форматов данных (присущих конкретному естественному языку, диалекту или территориальному образованию), заданных посредством параметраfmtpvdr, а также форматирующей строки, переданной впараметре forma tТаблица 19.6.
Поля, поддерживаемые структурой DoubleПолеОписаниеpublic const double EpsilonНаименьшее ненулевое положительное значениеНаибольшее значение, которое можно хранить с помощью типа d o u b l eНаименьшее значение, которое можно хранить с помощью типа d o u b l eЗначение, которое не является числомЗначение, представляющее минус бесконечностьЗначение, представляющее плюс бесконечностьpublic const double MaxValuepublic const double MinValuepublic const double NaNpublic const double Negativelnfinitypublic const doublePositivelnfinityСтруктура D e c i m a lСтруктура Decimal несколько сложнее, чем описанные выше.
Она содержит множество конструкторов, полей, методов и операторов, которые способствуют совместному использованию типа decimal и других числовых С#-типов. Например, ряд методов обеспечивает преобразование значений типа decimal в значения других числовых типов.В структуре Decimal определено восемь открытых конструкторов. Наиболее частоиспользуются следующие шесть:p u b l i c D e c i m a l ( i n t v)p u b l i c Decimal(uint v)p u b l i c Decimal(long v)514Часть li. Библиотека С#public Decimal(ulong v)public Decimal(float v)public Decimal(double v)Каждый из перечисленных конструкторов создает Decimal-объект на основе заданного значения.Decimal-объект также можно создать, указав его составляющие при вызове следующего конструктора:p u b l i c Decimal(int low, i n t middle,i n t high,bool signFlag, bytescaleFactor)Значение типа decimal состоит из трех частей.
Первая представляет собой 96разрядное целое число, вторая — флаг знака и третья — коэффициент масштабирования. 96-разрядное целое число передается в 32-разрядные участки памяти с помощьюпараметров low, middle и high. Знак передается через параметр signFlag, которыйустанавливается равным значению f a l s e для положительного числа и значениюt r u e — для отрицательного. Коэффициент масштабирования передается посредствомпараметра s c a l e F a c t o r , который должен иметь значение в диапазоне от 0 до 28. Этоткоэффициент задает степень числа 10 (т.е.
i o s c < a i e F a c t o r ) , на которую делится число дляполучения его дробной части.Вместо того чтобы передавать каждый компонент в отдельности, можно задать составные части Decimal-объекта в массиве целых чисел. В этом случае используйтеследующий конструктор:public Decimal(int[]parts)Первые три int-значения в параметре parts содержат 96-разрядное целое число.31-й разряд элемента p a r t s [3] содержит флаг числа (нуль — для положительного и1 — для отрицательного), а в разрядах 16-23 хранится масштабный коэффициент.В структуре Decimal реализованы следующие интерфейсы: iComparable,IConvertible и IFormattable.Рассмотрим пример создания значения типа decimal "вручную".// Создание decimal-значения "вручную".using System;class CreateDec {public static void MainO {decimal d = new decimal(12345, 0, 0, false, 2 ) ;Console.WriteLine(d);Результат выполнения этой программы таков:123.45В этом примере значение 96-разрядного целого числа равно 12345.
Это число —положительное и имеет два десятичных разряда.Методы, определенные в структуре Decimal, приведены в табл. 19-7, а поля — втабл. 19.8. В структуре Decimal также определено множество операторов и преобразований, позволяющих совместно использовать decimal-значения в выражениях сдругими числовыми типами. Правила использования значений типа decimal в выражениях и инструкциях присваивания описаны в главе 3.Глава 19. Пространство имен System515Таблица 19.7.
Методы, определенные в структуре DecimalМетодОписаниеpublic static decimal Add(decimal vl,decimal v2)чВозвращает значение vl + v2Public static int CompareTo(decimal vl,decimal v2)Сравнивает числовые значения параметров vl и v2. Возвращаетнуль, если сравниваемые значения равны.
Возвращает отрицательное число, если vl меньше v2, и — положительное, если vlбольше v2public int CompareTo(object v)Сравнивает числовое значение вызывающего объекта со значением параметра v. Возвращает нуль, если сравниваемые значенияравны.
Возвращает отрицательное число, если вызывающий объект имеет меньшее значение, и положительное, если вызывающийобъект имеет большее значениеpublic static decimal Divide(decimal vl,decimal v2)Возвращает значение vl / v2Public override bool Equals(object v)Возвращает значение ИСТИНА, если значение вызывающего объекта равно значению параметра vpublic static bool Equals(decimal vl,decimal v2)Возвращает значение ИСТИНА, если vl равно v2public static decimal Floor(decimal v)Возвращает наибольшее целое число (представленное в виде значения типа d e c i m a l ) , которое не больше параметра v. Например, при v, равном 1 . 0 2 , метод F l o o r () возвратит 1 . 0 . Апри v, равном - 1 .
0 2 , метод F l o o r () возвратит - 2public static decimalFromOACurrency(long v)Преобразует значение, предоставленное приложением OLEAutomation и переданное в параметре v, в его d e c i m a l эквивалент и возвращает результатpublic static int[] GetBits(decimal v)Возвращает двоичное представление значения параметра v ивозвращает его в массиве int-элементов. Организация этогомассива описана в тексте этого разделаpublic override intGetHashCodeOВозвращает хеш-код для вызывающего объектаpublic TypeCode GetTypeCode()Возвращает значение перечисления TypeCode для структурыD e c i m a l , т.е. TypeCode .
D e c i m a lpublic static decimalMultiply(decimal vl,decimal v2)Возвращает значение vi * v2public static decimal Negate (decimal v)Возвращает значение -vpublic static decimal Parse(string str)Возвращает двоичный эквивалент строкового представления числа, заданного в параметре s t r . Если содержимое строки непредставляет значение типа d e c i m a l , генерируется исключениеpublic static decimal Parse('string str,IFormatProvider fmtpvdr)Возвращает двоичный эквивалент строкового представления числа, заданного в параметре s t r с использованием форматов данных (присущих конкретному естественному языку, диалекту илитерриториальному образованию), заданных посредством параметра fmtpvdr.Если содержимое строки не представляет значениетипа d e c i m a l , генерируется исключение516Часть II. Библиотека С#Продолжение табл.