Рубрики

Различные способы преобразования строки в целое число в C #

Как и другие языки программирования, в C # мы можем преобразовать строку в int. Есть три способа преобразовать это, и они следующие:

  • Использование метода Parse
  • Использование метода TryParse
  • Использование метода Convert из (класс System.Convert )

Строка ввода может быть любой, например, «10», «10.10», «10GeeksforGeeks», «» (ваша строка может быть числом, комбинацией символов или пустой строкой).
Когда заданная строка является числом или числом с плавающей запятой, мы можем напрямую использовать любой из перечисленных выше методов для преобразования ее из строки в int, но комбинация символов и пустой строки вызовет ошибку, которую необходимо перехватить, используя исключительную обработку.

1. Использование метода Parse

Здесь мы вычисляем площадь круга, но заданная длина ввода указана в строковом формате и, следовательно, используется метод Int32.Parse () для преобразования длины из строки в int (эквивалент 32-разрядного целого числа со знаком).

// C # программа для преобразования строки в
// целое число с использованием метода Parse

using System;

  

namespace GeeksforGeeks {

  

class GFG{

  

    // Основной метод

    public static void Main(string[] args)

    {

  

        // Взять строку

        string l = "10";

  

        // используя метод

        int length = Int32.Parse(l);

  

        // Находим площадь квадрата

        int aofs = length * length; 

  

        Console.WriteLine("Area of a circle is: {0}", aofs);

    }

}
}

Выход:

Area of a circle is: 100

Когда у нас есть значение больше, чем Integer: если вы присваиваете значение большому значению для строки, то оно будет через OverflowException, так как тип данных int не может обрабатывать большие значения (это очень сильно зависит от диапазона типов данных).

string l="10000000000";

Вывод будет System.OverflowException: Value was either too large or too small for an Int32.

Когда у нас есть пустая строка: если вы оставите строку пустой, она будет через исключение System Format Exception, так как ввод пуст.

string l="";

Вывод будет: System.FormatException: входная строка была в неправильном формате.

2. Использование метода TryParse

Здесь мы использовали метод TryParse (), разница в методах Parse () и TryParse () состоит только в том, что метод TryParse () всегда возвращает значение, которое он никогда не вызовет. Если вы внимательно посмотрите на значение ввода, то оно ясно показывает, что оно сгенерирует исключение, но TryParse () никогда не сгенерирует исключение. Следовательно, результат равен нулю.

// C # программа для преобразования строки в
// целое число с использованием метода TryParse

using System;

  

namespace GeeksforGeeks {

  

class GFG{

  

    // Основной метод

    public static void Main(string[] args)

    {

  

        // Взять строку

        string l = "10000000000";

        int length = 0;

  

        // используя метод

        Int32.TryParse(l, out length);

  

        // Находим площадь квадрата

        int aofs = length * length; 

  

        Console.WriteLine("Area of a circle is: {0}", aofs);

    }

}
}

Выход:

Area of a circle is: 0

3. Использование метода конвертации

Здесь мы использовали метод Convert.ToInt32 () , разница в методах Parse () и Convert.ToInt32 () состоит только в том, что метод Convert.ToInt32 () всегда принимает нулевое значение, возвращающее его. Следовательно, результат равен нулю. В этом примере мы использовали исключительную обработку, поэтому блок try сгенерирует исключение, если оно произошло, и блок catch примет исключение и запишет любое возникшее исключение.

// C # программа для преобразования строки в
// целое число с использованием метода Convert

using System;

  

namespace GeeksforGeeks {

  

class GFG {

  

    // Основной метод

    public static void Main(string[] args)

    {

  

        // Взять строку

        string l = null;

        try {

               int length = Convert.ToInt32(l);

  

               // Находим площадь квадрата

               int aofs = length * length; 

  

               Console.WriteLine("Area of a circle is: {0}", aofs);

        }

        catch (Exception e) {

            Console.WriteLine("Unable to convert:Exception:" + e.Message);

        }

    }

}
}

Выход:

Area of a circle is: 0

Рекомендуемые посты:

Различные способы преобразования строки в целое число в C #

0.00 (0%) 0 votes