В чем разница между int.Parse() и Convert.ToInt32()
int.Parse преобразует строку ( string ) в int (если может).
Convert.ToInt32 преобразует в int значение любого типа, из перечисленных здесь. boolean, double, float и т.д. А самое главное, может преобразовать экземпляр любого класса, реализующего IConvertible .
Если говорить о строках, то Convert.ToInt32 внутри всё равно использует int.Parse . Но есть нюанс:
public static int ToInt32(String value)
Для неинициализированной строки int.Parse выбросит исключение, Convert.ToInt32 вернет 0.
Преобразование строки в целое число в C#
В этом посте мы обсудим, как преобразовать строку в эквивалентное целочисленное представление в C#.
1. Использование Int32.Parse() метод
Чтобы преобразовать строковое представление числа в эквивалентное ему 32-разрядное целое число со знаком, используйте метод Int32.Parse() метод.
using System ;
public class Example
public static void Main ( )
string str = «100» ;
int x = Int32 . Parse ( str ) ; // или используйте `int.Parse()`
Console . WriteLine ( x ) ;
The Int32.Parse() метод выдает FormatException если строка не числовая. Мы можем справиться с этим с помощью блока try-catch.
using System ;
public class Example
public static void Main ( )
string str = «100» ;
int x = Int32 . Parse ( str ) ;
Console . WriteLine ( x ) ;
catch ( FormatException ) <
Console . WriteLine ( "Input string is invalid." ) ;
2. Использование Int32.TryParse() метод
Лучшей альтернативой является вызов Int32.TryParse() метод. Он не генерирует исключение, если преобразование завершается неудачно. Если преобразование не удалось, этот метод просто возвращает false.
using System ;
public class Example
public static void Main ( )
string str = «100» ;
bool success = Int32 . TryParse ( str , out int x ) ; // или используйте `int.TryParse()`
if ( success ) <
Console . WriteLine ( x ) ;
Console . WriteLine ( "Input string is invalid." ) ;
3. Использование Convert.ToInt32() метод
The Convert.ToInt32 можно использовать для преобразования указанного значения в 32-разрядное целое число со знаком.
using System ;
public class Example
public static void Main ( )
string str = «10s» ;
int x = Convert . ToInt32 ( str ) ;
Console . WriteLine ( x ) ;
Этот метод выдает FormatException если строка не числовая. Это можно решить с помощью блока try-catch.
using System ;
public class Example
public static void Main ( )
string str = «100» ;
int x = Convert . ToInt32 ( str ) ;
Console . WriteLine ( x ) ;
catch ( FormatException ) <
Console . WriteLine ( "Input string is invalid." ) ;
Это все о преобразовании строки в целое число в C#.
Оценить этот пост
Средний рейтинг 4.81 /5. Подсчет голосов: 32
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Подписывайся
1 Комментарий
Большинство голосов
Новейшие Самый старый
Встроенные отзывы
Просмотреть все комментарии
Просмотр комментариев
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации
- Все проблемы
- Практика DSA
- 100 самых популярных задач
- 50 лучших классических задач
- Лучшие алгоритмы
- Компилятор С/С++
- Компилятор Java
- Компилятор Python
- Компилятор JavaScript
- компилятор PHP
- Компилятор C#
- Свяжитесь с нами
- Политика конфиденциальности
- условия обслуживания
- Подпишитесь на новые публикации
Techie Delight © 2023 Все права защищены.
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Convert toint32 c что это
Преобразование типов данных, это приведение одного типа к другому. Например, приведение целочисленной переменной к числу с плавающей точной, или преобразование числа в строку. В C# выделяют два варианта преобразования типов:
- Неявное преобразование типов. Это, так называемое безопасное преобразование типов в C#. Например, преобразование из типа float (более «маленький» тип) в тип double (более «большой» тип). При таком преобразовании никакая информация не «потеряется», что при обратном преобразовании вполне возможно.
- Явное преобразование типов. Такое преобразование выполняется программистом с прямым указанием типа, к которому нужно привести переменную. Для такого преобразования требуется наличие оператора преобразования.
А теперь, я покажу как можно использовать явное преобразование типов в C#:
using System; namespace TypesConvertion < class Program < static void Main(string[] args) < //Число с плавающей точкой double doubleData = 245.45; //Вывод этого числа Console.WriteLine(doubleData); //А теперь, мы сделаем на основе этого числа, цело число int intData = (int)doubleData; //Вывод целого числа Console.WriteLine(intData); //Чтобы окно не закрылось раньше времени Console.ReadKey(); >> >
Преобразование типа double в тип int выполнялось в выделенной строке (строке с номером 16). Если вы соберете данный пример и запустите его, то увидите, что преобразование типов прошло, т.е. из числа с плавающей точкой мы получили целое число.
Так же, для преобразования данных из одного типа в другой, есть целый класс с именем Convert, у которого имеются специальные методы. Ниже, в таблице, представлены основные методы этого класса.
Название метода | Целевой тип |
---|---|
ToBoolean | bool |
ToByte | byte |
ToChar | char |
ToDouble | double |
ToSingle | float |
ToInt32 | int |
ToInt64 | long |
ToString | string |
А теперь, пример использования класса Convert и его методов:
using System; namespace TypesConvertion < class Program < static void Main(string[] args) < //Число с плавающей точкой double doubleData = 245.45; //Вывод этого числа Console.WriteLine(doubleData); //А теперь, мы сделаем на основе этого числа, цело число int intData = Convert.ToInt32(doubleData); //Вывод целого числа Console.WriteLine(intData); //Чтобы окно не закрылось раньше времени Console.ReadKey(); >> >
Как видите, это практически тот же код, что был в первом примере, но с использованием другого подхода в преобразовании типов.
И обратите внимание на еще одни момент, если один тип нельзя преобразовать в другой, а вы это попытаетесь сделать, то получите ошибку в программе!
Пользоваться возможность преобразования типов вам придется довольно часто!
Convert toint32 c что это
Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности
Public user contributions licensed under cc-wiki license with attribution required