decimal Parse(strings)

Double

static

double Parse(strings)

Single

static

float Parse(strings)

Int 64

static

long Parse (strings)

Int32

static

int Parse(strings)

I n 116

static

short Parse(strings)

Uint64

static

ulong Parse(strings)

UInt32

static

uint Parse(strings)

Ulntl6

static

ushort Parse(strings)

Byte

static

byte Parse(strings)

Sbyte

static

sbyte Parse(strings)

Приведенные выше варианты методаParse() генерируют исключениеFormatException,если строкаsне содержит допустимое число, определяемое вызывающим типом данных. А если она содержит пустое значение, то генерируется исключениеArgumentNullException.Когда же значение в строкеsпревышает допустимый диапазон чисел для вызывающего типа данных, то генерируется исключениеOverflowException.

Методы синтаксического анализа позволяют без особого труда преобразовать числовое значение, введенное с клавиатуры или же считанное из текстового файла в виде строки, в соответствующий внутренний формат. В качестве примера ниже приведена программа, в которой усредняется ряд чисел, вводимых пользователем. Сначала пользователю предлагается указать количество усредняемых значений, а затем это количество считывается методом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

Перейти на страницу:

Похожие книги