decimal Parse(string
Double
static
double Parse(string
Single
static
float Parse(string
Int 64
static
long Parse (string
Int32
static
int Parse(string
I n 116
static
short Parse(string
Uint64
static
ulong Parse(string
UInt32
static
uint Parse(string
Ulntl6
static
ushort Parse(string
Byte
static
byte Parse(string
Sbyte
static
sbyte Parse(string
Приведенные выше варианты методаParse() генерируют исключениеFormatException,если строка
Методы синтаксического анализа позволяют без особого труда преобразовать числовое значение, введенное с клавиатуры или же считанное из текстового файла в виде строки, в соответствующий внутренний формат. В качестве примера ниже приведена программа, в которой усредняется ряд чисел, вводимых пользователем. Сначала пользователю предлагается указать количество усредняемых значений, а затем это количество считывается методомReadLine() и преобразуется из строки в целое число методомInt32.Parse(). Далее вводятся отдельные значения, преобразуемые методомDouble. Parse() из строки в их эквивалент типаdouble.
// Эта программа усредняет ряд чисел, вводимых пользователем.
using System; using System.10;
class AvgNums {
static void Main() { string str; int n;
double sum = 0.0; double avg, t;
Console.Write("Сколько чисел вы собираетесь ввести: "); str = Console.ReadLine (); try {
n = Int32.Parse(str);
} catch(FormatException exc) {
Console.WriteLine(exc.Message); return;
} catch(OverflowException exc) {
Console.WriteLine(exc.Message); return;
}
Console.WriteLine("Введите " + n + " чисел."); for (int i=0; i < n ; i++) {
Console.Write(": "); str = Console.ReadLine (); try {
t = Double.Parse(str);
} catch(FormatException exc) {
Console.WriteLine(exc.Message) ; t = 0.0;
} catch(OverflowException exc) {
Console.WriteLine(exc.Message) ; t = 0;
}
sum += t;
}
avg = sum / n;
Console.WriteLine("Среднее равно " + avg);
Выполнение этой программы может привести, например, к следующему результату.
Сколько чисел вы собираетесь ввести: 5 Введите 5 чисел.
: 1.1 : 2.2 : 3.3 : 4.4 : 5.5
Среднее равно 3.3