Типы с плавающей точкой позволяют представлять числа с дробной частью. В C# имеются две разновидности типов данных с плавающей точкой:floatиdouble.Они представляют числовые значения с одинарной и двойной точностью соответственно. Так, разрядность типаfloatсоставляет 32 бита, что приближенно соответствует диапазону представления чисел от 5Е-45 до 3,4Е+38. А разрядность типаdoubleсоставляет 64 бита, что приближенно соответствует диапазону представления чисел от 5Е-324 до
1,7Е+308.
В программировании на C# чаще применяется типdouble,в частности, потому, что во многих математических функциях из библиотеки классов С#, которая одновременно является библиотекой классов для среды .NET Framework, используются числовые значения типаdouble.Например, методSqrt , определенный в библиотеке классовSystem. Math,возвращает значение типаdouble,которое представляет собой квадратный корень из аргумента типаdouble,передаваемого данному методу. В приведенном ниже примере программы методSqrt используется для вычисления радиуса окружности по площади круга.
// Определить радиус окружности по площади круга.
using System;
class FindRadius { static void Main {
Double r;
Double area;
area = 10.0;
r = Math.Sqrt(area / 3.1416);
Результат выполнения этой программы выглядит следующим образом.
Радиус равен 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 ;
}
}
}