×
Traktatov.net » C# 4.0: полное руководство » Читать онлайн
Страница 32 из 650 Настройки

>Радиус равен 1.78412203012729


В приведенном выше примере программы следует обратить внимание на вызов метода >Sqrt(). Как упоминалось выше, метод >Sqrt() относится к классу >Math, поэтому в его вызове имя Math предшествует имени самого метода. Аналогичным образом имя класса >Console предшествует имени метода >WriteLine() в его вызове. При вызове некоторых, хотя и не всех, стандартных методов обычно указывается имя их класса, как показано в следующем примере.

В следующем примере программы демонстрируется применение нескольких тригонометрических функций, которые относятся к классу >Math и входят в стандартную библиотеку классов С#. Они также оперируют данными типа >double. В этом примере на экран выводятся значения синуса, косинуса и тангенса угла, измеряемого в пределах от 0,1 до 1,0 радиана.


>// Продемонстрировать применение тригонометрических функций.

>using System;

>class Trigonometry {

>  static void Main() {

>    Double theta; // угол в радианах

>    for(theta = 0.1; theta <= 1.0;

>                     theta = theta +0.1) {

>      Console.WriteLine("Синус угла " + theta +

>                        " i равен " + Math.Sin(theta));

>      Console.WriteLine("Косинус угла " + theta +

>                        " равен " + Math.Cos(theta));

>      Console.WriteLine("Тангенс угла " + theta +

>                        " равен " + Math.Tan(theta));

>      Console.WriteLine();

>    }

>  }

>}


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


>Синус угла 0.1 равен 0.0998334166468282

>Косинус угла 0.1 равен 0.995004165278026

>Тангенс угла 0.1 равен 0.100334672085451


>Синус угла 0.2 равен 0.198669330795061

>Косинус угла 0.2 равен 0.980066577841242

>Тангенс угла 0.2 равен 0.202710035508673


>Синус угла 0.3 равен 0.29552020666134

>Косинус угла 0.3 равен 0.955336489125606

>Тангенс угла 0.3 равен 0.309336249609623


Для вычисления синуса, косинуса и тангенса угла в приведенном выше примере были использованы стандартные методы >Math.Sin(), Math.Cos() и >Math.Tan(). Как и метод >Math.Sqrt(), эти тригонометрические методы вызываются с аргументом типа double и возвращают результат того же типа. Вычисляемые углы должны быть указаны в радианах.


Десятичный тип данных

Вероятно, самым интересным среди всех числовых типов данных в C# является тип decimal, который предназначен для применения в финансовых расчетах. Этот тип имеет разрядность 128 бит для представления числовых значений в пределах от 1Е-28 до 7,9Е+28. Вам, вероятно, известно, что для обычных арифметических вычислений с плавающей точкой характерны ошибки округления десятичных значений. Эти ошибки исключаются при использовании типа >decimal, который позволяет представить числа с точностью до 28 (а иногда и 29) десятичных разрядов. Благодаря тому что этот тип данных способен представлять десятичные значения без ошибок округления, он особенно удобен для расчетов, связанных с финансами.

Ниже приведен пример программы, в которой тип >decimal используется в конкретном финансовом расчете. В этой программе цена со скидкой рассчитывается на основании исходной цены и скидки в процентах.