Введите длину первой стороны треугольника: 3



Введите длину второй стороны треугольника: 4

Длина гипотенузы равна: 5

 

Далее следует пример программы, в которой метод Pow() служит для расчета первоначальных капиталовложений, требующихся для получения предполагаемой будущей стоимости, исходя из годовой нормы прибыли и количества лет. Ниже приведена формула для расчета первоначальных капиталовложений.

 

первоначальные капиталовложения =

будущая стоимость / (1 + норма прибыли)количество лет

 

В вызове метода Pow() необходимо указывать аргументы типа double, поэтому норма прибыли и количество лет задаются в виде значений типа double. А первоначальные капиталовложения и будущая стоимость задаются в виде значений типа decimal.

 

/* Рассчитать первоначальные капиталовложения, необходимые для получения заданной будущей стоимости, исходя из годовой нормы прибыли и количества лет. */

using System;

class Initiallnvestment {

static void Main() {

Decimal initInvest; // первоначальные капиталовложения

Decimal futVal; // будущая стоимость

Double numYears; // количество лет

Double intRate; // годовая норма прибыли

string str;

 

Console.Write("Введите будущую стоимость: ");

str = Console.ReadLine();

try {

futVal = Decimal.Parse(str);

}

catch (FormatException exc) {

Console.WriteLine(exc.Message);

return;

}

 

Console.Write("Введите норму прибыли (например, 0.085): ");

str = Console.ReadLine();

try {

intRate = Double.Parse(str);

}

catch (FormatException exc) {

Console.WriteLine(exc.Message);

return;

}

 

Console.Write("Введите количество лет: ");

str = Console.ReadLine();

try {

numYears = Double.Parse(str);

}

catch (FormatException exc) {

Console.WriteLine(exc.Message);

return;

}

initInvest =

futVal / (decimal)Math.Pow(intRate + 1.0, numYears);

Console.WriteLine("Необходимые первоначальные капиталовложения: {0:C}", initInvest);

}

}

 

Ниже приведен один из возможных результатов выполнения этой программы.

 

Введите будущую стоимость: 10000

Введите норму прибыли (например, 0.085): 0.07

Введите количество лет: 10

Необходимые первоначальные капиталовложения: $5,083.49

 

 

Структуры .NET, соответствующие встроенным типам значений

 

Структуры, соответствующие встроенным в C# типам значений, были представлены в главе 14, где они упоминались в связи с преобразованием строк, содержащих числовые значения в удобочитаемой форме, в эквивалентные двоичные значения. В этом разделе структуры .NET рассматриваются более подобно.

Имена структур .NET и соответствующие им ключевые слова, обозначающие типы значений в С#, перечислены в приведенной ниже таблице.

 

Имя структуры в .NET  Имя типа значения в C#

 

System.Boolean bool

System.Char  char

System.Decimal  decimal

System.Double  double

System.Single  float

System.Intl6 short

System.Int32  int

System.Int64  long

System.Ulntl6 ushort

System.UInt32  uint

System.UInt64  ulong

System.Byte  byte

System.Sbyte  sbyte

 

Используя члены, определенные в этих структурах, можно выполнять операции над значениями простых типов данных. Все перечисленные выше структуры рассматриваются далее по порядку.

---------------------------

ПРИМЕЧАНИЕ

Некоторые методы, определенные в структурах, соответствующих встроенным в C# типам значений, принимают параметры типа IFormatProvider или NumberStyles. Тип

IFormatProvider вкратце описывается далее в этой главе, а тип NumberStyles представляет собой перечисление из пространства имен System.Globalization. Вопросы форматирования подробнее рассматриваются в главе 22.

---------------------------

 

 

Структуры целочисленных типов данных

 

Ниже перечислены структуры целочисленных типов данных.

 

Byte

SByte

Int16

Uint16

Int32

UInt32

Int64

Uint64

 

Каждая из этих структур содержит одинаковое количество членов. В табл. 21.2 для примера перечислены члены структуры Int32. Аналогичные члены в виде методов имеются и у других структур, за исключением целочисленного типа, который они представляют.

 

Помимо перечисленных выше методов, в структурах целочисленных типов данных определены следующие поля типа const.

MaxValue

MinValue

 

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

Во всех структурах целочисленных типов данных реализуются следующие интерфейсы: IComparable, IComparable<T>, IConvertible, IFormattable и IEquatable<T>, где параметр обобщенного типа Т заменяется соответствующим типом данных. Например, в структуре Int32 вместо Т подставляется тип int.

 

Таблица 21.2. Методы поддерживаемые структурой int

Метод - Назначение

 

public int CompareTo(object value) - Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значение

public int CompareTo(int  value) - Сравнивает числовое значение вызывающего объекта со значением value. Возвращает нуль, если сравниваемые значения равны; отрицательное значение, если вызывающий объект имеет меньшее значение; и, наконец, положительное значение, если вызывающий объект имеет большее значение

public override bool Equals(object obj) - Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj

public bool Equals(int obj) - Возвращает логическое значение true, если значение вызывающего объекта равно значению параметра obj

public override int GetHashCode() - Возвращает хеш-код для вызывающего объекта

public TypeCode GetTypeCode() - Возвращает значение перечисления TypeCode для эквивалентного типа. Например, для структуры Int32 возвращается значение TypeCode.Int32

public static int Parse(string s) - Возвращает двоичный эквивалент числа, заданного в виде символьной строки s. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

public static int Parse(string s,  IformatProvider  provider) - Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

public static int Parse(string s,  NumberStyles styles) - Возвращает двоичный эквивалент числа, заданного в виде символьной строки s, с использованием данных о стилях, определяемых параметром styles. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

public static int Parse(string s,  NumberStyles styles,  IformatProvider  provider) - Возвращает двоичный эквивалент числа, заданного в виде строки символьной s, с использованием данных о стилях, определяемых параметром styles , а также форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. Если числовое значение не представлено в строке так, как определено в структуре данного типа, то генерируется исключение

public override string ToString() - Возвращает строковое представление значения вызывающего объекта

public string ToString(string format) - Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format

public string ToString(IformatProvider  provider) -  Возвращает строковое представление значения вызывающего объекта с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider

public string ToString(string format,  IformatProvider  provider) - Возвращает строковое представление значения вызывающего объекта, как указано в форматирующей строке, определяемой параметром format , но с использованием форматов данных, характерных для конкретной культурной среды и определяемых параметром provider

public static bool TryParse(string  s, out int result) -  Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в двоичное значение. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse(), который генерирует исключение при неудачном исходе преобразования

public static bool TryParse(string s,  NumberStyles styles,  IformatProvider  provider, out int  result) -  Предпринимает попытку преобразовать числовое значение, заданное в виде символьной строки s, в двоичное значение с использованием информации о стилях, обозначаемых параметром styles , а также форматов данных, характерных для конкретной культурной среды и определяемых параметром provider. При успешной попытке это значение сохраняется в параметре result и возвращается логическое значение true, а иначе возвращается логическое значение false, в отличие от метода Parse() , который генерирует исключение при неудачном исходе преобразования

 

 


Дата добавления: 2019-02-12; просмотров: 307; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!