Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 134
Текст из файла (страница 134)
/* Рассчитать первоначальные капиталовложения, необходимые дпя получения заданной будущей стоимости, исходя из годовой норыы прибыли и количества пег. */ иягпс Яуясев) с1аяя 1пас1а11пчеясвепс ( ягагас чо1с магп() ( бесава1 ьпас1пчеясл // первоначальные капиталовложения бесава1 Гисиа1) // будущая стоимость 696 Часть П, Библиотека С() боопте пчщтеагз; // количество лет бооЬ1е 1пгнаСет // годовая норма прибыли ягггпд згг," Сопзо1е.иггге("Введите будущую стоимость: ")т ягг = Сопзо1е.аеабьгпе()т Сгу ( Гпгча1 = Оесыьа1.Расее(вгг); ) саСсЬ(ГогщаСЕхсерггоп ехс) ( Сопво1е.иг1сеЬЬпе(ехс.меяваде)7 гегнгпт ) Сопзо1е.ИггСе("Введите норму прибыли (например, 0.085)т ") згг = Сопзо1е.аеаЖ1пе()т сгу ( 1псеасе = оопьге.Расее(всг)) ) саСсЬ(ГогщаСЕхсергаоп ехс) Сопво1е.иг1сеьгпе(ехс.Меязаде); гегигп; ) Сопзо1е.иггге("Введите количество лет: ") ясг = Сопзо1е.веабс1пе()' сгу ( пчитеагя = Поопте.рагзе(згг)т ) сагсЬ(Гогща Ехсергьоп ехс) ( Сопзо1е.нгггес1пе(ехс.меззаде)) гегогпт гпгг1пчезг = гпсуа1 / (бес1ща1) мась.роы(спсеасеь1.0, пощтеагв) Сопяо1е.игасеьгпе("Необходимые первоначальные " ь "капиталовложения: (О:С)", гпгг1пчезг); Ниже приведен один из возможных результатов выполнения втой программы.
Введите будущую стоимость: 10000 Введите норму прибыли (например, 0.085): 0.07 Введите количество лет: 10 Необходимые первоначальные капиталовложения: 55,083.49 Структуры;й ЕТ, соответствующие встроенным типам значений Структуры, соответствующие встроенным в С() типам значений, были представлены в главе 14, где они упоминались в связи с преобразованием строк, содержащих числовые Глава 2(. Пространство имен Зуя(вв 697 Имя типа значения в СЗ Имя структуры а . НЕГ Яуяьвв.зоо1еап Буяьвв.оьвс 5уяьвв.песпла1 Буяьев.пооЬ1е Бувьвв.51по1е Буяьев.1пС16 5увбев.1пС32 Ьоо1 спас Оес1ва1 Оопьуе 11оаС вьосС 1пС 5уяьев. 1ЬС64 1опс Бульв .О1ЬС16 Буяьев.птпС32 БуяСев.п1пС64 Буяьев.нуСе БуяСев.БЬуСе ояЬосс сапс п1опд ьусе яьусе Используя члены, определенные в этих структурах, можно выполнять операции над значениями простых типов данных.
Все перечисленные выше структуры рассматриваются далее по порядку. Не заметя)(1 Некоторые методы, определенные в структурах, соответопвующих встроенным в СФ типам значений, принимают параметры типа 1Ро сна сзсочаае с или нпвье ся су1ея. Тип 1госвасвсоч1с(ес вкратце описывается далее в этой главе, а тип новьесзсу1ея представляет собой перечисление из пространства имен Буясев.
51оьа11хасяоп. Вопросы форматирования подробнее рассматриваются в главе 22. Структуры целочисленных типов данных Ниже перечислены структуры целочисленных типов данных. ПяпС16 О1ЬС64 1пС16 1пС64 вусе тпС32 БВуье О1пС32 Каждая из этих структур содержит одинаковое количество членов, перечисленных в табл. 21.2. Эти структуры отличаются лишь типом значения, возвращаемого методом Рагяе () . Он соответствует тому типу, который представляет каждая структура. Например, метод Расяе () из структуры 1пС32 возвращает значение типа спС, а мЕтод Рагяе () из структуры П1пС16 — значение типа пяьосС.
Пример, демонстрирующий применение метода Расяе (), приведен в главе 14. значения в удобочитаемой форме, в эквивалентные двоичные значения. В этом разделе структуры .НЕТ рассматриваются более подобно. Имена структур .НЕТ и соответствующие им ключевые слова, обозначающие типы значений в С(), перечислены в приведенной ниже таблице. 698 Часть ((. Библиотека С» Таблица 2 1.2.
Методы, поддерживаемые структурами целочисленных типов данных Назначение роЫ»с бпс СопрагвТо(оьэвск ч) рпЫбс Тпс Соирвгето(тип ч) риЫбс очегггбе Ьоо1 Ечав1я(оЬ)есг ч) роЬ1гс Ьоо1 Ечав1я(тип ч) раЫТс очегггбе 1пс Оеснвяпсобе() раЫ1с ТуреСобе аестуресабе() рцЫ1с ясак»с возвращаемый тип Рвгяе(якгбпд ясг) раЫ1с ясвсус возвращаемый тип Рагяе(ясгьпа ясг, 1гогзягргочгбег Еисрчбг) раЫТс ясвсбс возвращаемый тип Расее(ясг1па ясг, Наыовгэсу1ея ясу1ея) Сравнивает числовое значение вызывающего обьекта со значением ч.
Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий обьект имеет большее значение Сравнивает числовое значение вызывающего обьекта со значением сс Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, палокительнае значение, если вызывающий обьект имеет большее значение.
В этом варианте метода саирвгето ( ) тип явно обозначает конкретный тип данных,как,например,зуягеы.1пг32.соирагето(гпг ч) Возвращает логическое значение г гав, если значение вызывающего обьекта равно значению ч Возвращает логическое значение став, если значение вызывающего абьекта равно значению ю В этом варианте метода Ес(оа1я () тип явно обозначает конкретный тип данных, как, например,эуясеи.тпг32.еч в1я(1пг ч) Возвращает хеш-код для вызывающего объекта Возвращает значение перечисления туресос(е для эквива- ЛвитНОГО тИПа. НаПрИМЕр, дпя СтруКтурЫ Тпс 3 2 Ваэеращавтоя значение туресобв.1пг32 Возвращает двоичный эквивалент числа, заданного в виде строки ягг.
Если числовое значение не представлено в строке так, как определено в струюуре данного типа, то мнерируется исключение. А зоззрящявыый тип обозначает конкретный тип возвращаемых данных в зависимости ат используемой СтРуКтУРЫ ЧИСЛОВОГО тИПа. НаПрИМЕР, ДЛЯ СтРуКтурю 1пс32 возвращается значение типа бпс Возвращает двоичный эквивалент числа, заданного в виде строки я гг, с использованием форматов данных, характер- ных для конкретной культуры и определяемых параметром Ги Грчбг.
ЕСЛИ ЧИСЛОВОЕ ЗНаЧЕНИЕ Нв ПрЕдетаВЛЕНО В СтрОКЕ так, как определено в структуре данного типа, то гшюрируется исключение, А заззращззыый тип обозначает конкретный тип возвращаемых данных в зависимости от используемой структуры числового типа. Например, для структуры 1пг32 возвращается значение типа 1пг Возвращает двоичный эквивалент числа, заданного в виде строки я гг, с использованием данных о стипях определяемых параметром я гу1 ее. Если числовое значение не представле- но в строке так, как определено в структуре данного типа, то генерируется исключение. А возвращаемый тип обозначает конкретный тип возвращаемых данных в зависимости от ис- пользуемой структуры числового типа.
Например, для структу- ры 1пг32 возвращается значение типа зпг Глава 2(. Пространство имен Зув(ею 699 Окончтння гябл. 2(2 Назначение РаЫ«о ятатто возяряшяямяш тип Ратяе(яСтспд ятт, Нш«Ьегэту1ея ясу1ея, ТЕогпяСРточ1г(ет Еигрчг(г) Возвращает двоичный эквивалент числа, заданного в виде строки ест, с использованием данных о стилях, определяемых параметром я су1 ея, а также форматов данных, характер- ных для конкретной культуры и определяемых параметром Е псрт с(г. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение.
А возярящяемый тнп обозначает конкретный тип возвращаемых данных в зависимости ат используемой структуры числового типа. Например, для структуры Тпс32 возвращается значение типа тпс Возвращает строковое представление значения вызывающего объекта РаЫ«с очеггсйе ятт1пд Тоэтгспд() раЫ«с ятт1пд Тозтттпд(яот1пд Еогмят) Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром токая с Возвращает строковое представление значения вызывающего обьекта с использованием форматов данных, характерных для конкретной культуры и определяемых параметром Емсрчс(г Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром Еогмя с, но с использованием форматов данных, характерных для конкретной культуры и определяемых пара- метром Етсрчг(г Предпринимает попытку преобразовать числовое значение, заданное в виде строки я от, в двоичное значение.
При успеш- ной попытке это значение сохраняется в параметре чя1 типа оас и возвращается логическое значение стае, а иначе воз- вращается логическое значение Ея1яе, в отличие от метода Рягяе (), который генерирует исключение при неудачном исходе преобразования. В методе тгунагяе() гнппена обозначает конкретный тип данных, как, например, Буясеп. 1пт32.ТгуРятяе(тпт ч) Предпринимает попытку преабразоватьчисловоезначение, заданное в виде строки ест, в двоичное значение, как ука- зано в форматирующей строке, определяемой параметром еогмя с, но с использованием форматов данных, характер- ных для конкретной культуры и определяемых параметром еясрчт(т.