Windows forms string to int

Максим Зайцев

1 / 1 / 0

Регистрация: 05.11.2013

Сообщений: 38

1

06.10.2014, 23:47. Показов 8555. Ответов 3

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Спасибо

Добавлено через 30 минут

C#
1
2
3
4
5
6
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string a,b;
            a = textBox1.Text;
            b = a / 60;
        }

как из текстового типа (textBox1.Text) сделать число?



0



meksik

202 / 171 / 67

Регистрация: 04.10.2014

Сообщений: 839

07.10.2014, 00:21

2

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        double a, b;
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                a = Convert.ToDouble(textBox1.Text);
                b = a / 60;
            }
            catch (Exception ex) 
            {
                MessageBox.Show(ex.Message);
            }
        }

Добавлено через 1 минуту

Не по теме:

Максим Зайцев, модераторы будут ругаться, нельзя в одной теме разные вопросы задавать



0



aquaMakc

484 / 397 / 68

Регистрация: 14.02.2014

Сообщений: 1,930

07.10.2014, 09:22

3

C#
1
2
3
int num = 0;
if (Int32.TryParse (textbox1.Text, out num)) MessageBox.Show("Получили число в переменной num");
else MessageBox.Show ("Лажу ввели");



0



onfrich

14 / 14 / 9

Регистрация: 22.11.2012

Сообщений: 62

07.10.2014, 17:36

4

C#
1
a= Int32.Parse(textBox1.Text);



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

07.10.2014, 17:36

Помогаю со студенческими работами здесь

Из string[] в int[]
Существует строковый массив из чисел. Как его можно преобразовать в числовой? (string в int)

From string to int
Здравствуйте,есть проблема
Я имею
List<string>a=newList<string>();//и в нем содержатся цифры 1 2…

Преобразование int в double
В названии ошибся, необходимо, насколько понимаю, перевести double в int.

Нужно сделать, дабы…

Библиотека int и string
Доброго времени суток, коллеги. Подскажите начинающему программисту, как создать библиотеку данных…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

4

3 Answers

As you’re using Managed C++, then you can do this:

double foo = System::Convert::ToDouble("200");
int bar = System::Convert::ToInt32("200");

Use whatever you need!

answered Jan 15, 2011 at 11:27

Nawaz's user avatar

NawazNawaz

355k115 gold badges666 silver badges851 bronze badges

3

  • If I include #include<sstream> after my using namespace System;, I get a lot of errors…

    Jan 15, 2011 at 11:40

  • @MegaFill : you should have tell that you’re using Managed C++. Not Visual C++.

    Jan 15, 2011 at 11:48

  • @MegaFill: You could do this. If you want to throw an exception if the number you’re trying to convert to a string is not actually a number. What if the user typed AA:BB into the textbox? You’re actually looking for Int32::TryParse.

    Jan 15, 2011 at 12:29

you can use c standard lib frunction atoi

CString s = "30";
int x = atoi( s ); // x is now 30

Edit: Oh, your are using managed C++, then one of the following two should do the job

System::Convert::ToInt32(str, 10);
System::Int32::Parse(str);

Refer to this page with an example: http://msdn.microsoft.com/en-us/library/b3h1hf19.aspx

answered Jan 15, 2011 at 11:23

ak.'s user avatar

ak.ak.

3,3393 gold badges38 silver badges50 bronze badges

3

  • Sorry, how to do it in Managed C++? ‘)

    Jan 15, 2011 at 12:01

  • Have people just never heard of TryParse? He’s using a value from a textbox. There’s no reason to handle an exception if the user types something that is not a number.

    Jan 15, 2011 at 12:32

  • The last time I was coding for .Net was 3 years ago, things got rusty :)

    Jan 15, 2011 at 13:32

I use

int intVar = Int32::Parse(stringVar);

answered Jan 17, 2011 at 11:40

DPD's user avatar

DPDDPD

1,7342 gold badges19 silver badges26 bronze badges

В этом посте мы обсудим, как преобразовать строку в эквивалентное целочисленное представление в 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.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

using System;

public class Example

{

    public static void Main()

    {

        string str = «100»;

        try {

            int x = Int32.Parse(str);

            Console.WriteLine(x);

        }

        catch (FormatException) {

            Console.WriteLine(«Input string is invalid.»);

        }

    }

}

Скачать  Выполнить код

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

Лучшей альтернативой является вызов Int32.TryParse() метод. Он не генерирует исключение, если преобразование завершается неудачно. Если преобразование не удалось, этот метод просто возвращает false.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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);

        }

        else {

            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.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

using System;

public class Example

{

    public static void Main()

    {

        string str = «100»;

        try {

            int x = Convert.ToInt32(str);

            Console.WriteLine(x);

        }

        catch (FormatException) {

            Console.WriteLine(«Input string is invalid.»);

        }

    }

}

Скачать  Выполнить код

Это все о преобразовании строки в целое число в C#.

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования :)

Все уроки по C# расположены здесь.

На данном уроке мы объединим типы данных, которые обсуждали до сих пор. Мы поговорим о преобразовании строковых значений в числовые типы. Это необходимо, например, тогда, когда пользователь может вводить любые данные, но требуется работать с ними как с числовыми.

Преобразование строк в числовые типы данных

Входные данные часто предоставляются с использованием текстовых полей; введенная информация будет представлять собой строку. Если текстовое поле используется, чтобы указать число, строка может потребовать преобразования в числовой тип данных.

На одном из предыдущих уроков мы обсудили явное и неявное преобразование между числовыми типами с помощью функций приведения. Приведение недоступно при преобразовании между строками и числовыми значениями. Вместо этого Платформа .NET framework предоставляет класс ‘Convert’, специально разработанный для преобразования собственных типов. Числовые типы также предоставляют методы для разбора строк.

Класс Convert

Класс Convert находится в пространстве имен System. Он обеспечивает конвертацию с помощью статических методов. статические методы вызываются без предварительного создания объекта. Другими словами, вам не нужно создавать объект Convert для доступа к требуемым методам.

.NET структура и ключевые слова C#

Одна из сложностей при использовании класса Convert заключается в том, что собственные типы данных C# называются по-другому, чем базовые структуры .NET framework. В следующей таблице перечислены числовые и логические типы данных, описанные в учебнике, и соответствующие имена .NET. Класс Convert использует имена .NET с учетом регистра.

Синтаксис Convert

Статические методы преобразования используют стандартизированный синтаксис. Имя метода начинается с » To «, за которым следует желаемое имя типа данных .NET. Например, чтобы преобразовать строку в float, вызываем метод с названием Convert.ToSingle. Строковое значение, которое необходимо преобразовать, предоставляется в качестве параметра.

// string -> integer
int stringToInt = Convert.ToInt32("25");
 
// string -> decimal
decimal stringToDecimal = Convert.ToDecimal("25.5");
 
// Booleans может быть конвертирован тоже
bool stringToBoolean = Convert.ToBoolean("true");

Примечание: метод Convert может быть использован без ссылки на пространство имен System, поскольку Visual автоматически включает следующую строку в верхней части файла кода

using System;

С помощью этого оператор сообщает компилятору, какие пространства имен следует искать автоматически. Без этой команды необходимо включать пространство имен. Поскольку пространства имен могут иметь длинные имена, это может быть трудно читать. Без директивы using код будет

int stringToInt = System.Convert.ToInt32("25");

Числовые преобразования с Convert

Класс Convert также может использоваться для преобразования между числовыми типами. Если число с плавающей точкой преобразуется в целое число, то результат округляется до ближайшего целого числа.. Однако, в отличие от стандартных правил математического округления, если число с плавающей запятой находится ровно на полпути между двумя целыми числами, возвращается ближайшее четное число.

decimal originalValue = 25.5M;
int converted = Convert.ToInt32(originalValue);     // Результат 26
int casted = (int)originalValue;                    // Результат 25

Метод Parse

Также можно конвертировать строки в числа с помощью метода Parse. Это обеспечивает дополнительную гибкость, позволяя разработчику указать стиль преобразовываемого числа. Например, разрешение использования валютных символов или шестнадцатеричных чисел.

Метод Parse является перегруженным, это означает, что существует несколько способов для вызова метода, каждый с различными параметрами. Мы рассмотрим два вида перегрузок в этой статье. Первый принимает один параметр string, содержащий строку для преобразования

string toConvert = "100";
int convertedInt = int.Parse(toConvert);            // Результат 100
float convertedFloat = float.Parse(toConvert);      // Результат 100.0

Использование числовых стилей (Number Styles)

Простой способ вызова Parse, описанный выше, имеет недостаток. Строка должна содержать только цифры. Число, например «£10,000 » вызывает исключение при анализе. Чтобы избежать этого, можно добавить второй параметр для определения допустимых стилей чисел для содержимого строки. Framework обеспечивает перечисление на допустимое количество стилей. Перечисление — это особый тип значения, который содержит именованный набор доступных значений. Перечисления будут подробно описаны дале.

Перечисление NumberStyles определено в System.Globalization. Чтобы избежать необходимости вводить System.Globalization перед каждой ссылкой на numberstyles добавьте директиву using в начало файла кода.

using System.Globalization;

Теперь мы можем использовать NumberStyles перечисления в качестве второго параметра метода Parse.

// Преобразования, включая разделитель тысяч
int thousands = int.Parse("1,000", NumberStyles.AllowThousands);
 
// Преобразование значения в том числе десятичной точки
float withDecimal = float.Parse("5.50", NumberStyles.AllowDecimalPoint);
 
// Преобразование значения в том числе и символ валюты
int withCurrency = int.Parse("£5", NumberStyles.AllowCurrencySymbol);

Значения перечисления NumberStyles могут быть объединены с помощью оператора OR ( | ), что позволяет использовать несколько стилей. Например

float multiple = float.Parse("£5.50", NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol);

Перечисление содержит некоторые предопределенные стили. В приведенном выше примере для преобразования значения валюты использовались два стиля. Мы можем использовать опцию валюты из перечисления NumberStyles, чтобы разрешить эти стили и многое другое.

float money = float.Parse("£9,999.99", NumberStyles.Currency);

Интернационализация

.NET framework включает в себя большой объем функций, связанных с интернационализацией. Это просто означает, что возможна разработка программного обеспечения для пользователей по всему миру, с использованием своих локальных настроек для чисел, валют, языков и т.д. Это сложная тема и выходит за рамки текущего учебника по основам языка C#. Вообще говоря, для числовых преобразований вы можете использовать приведенные выше числовые стили для локальных настроек.


Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, Уроки по си шарп, си шарп, конвертация

How to convert string to int in C#?

The top 3 ways to convert string to int in C# are:

1. TryParse

The best way to convert string to int in C# is to use the TryParse method.

To convert string to int in C#:

  1. Pass the string as the first parameter to int.TryParse
  2. Pass the int reference as the second parameter using the out parameter modifier.
  3. Capture the boolean returned from int.TryParse.
  4. If int.TryParse returned true, the string to int conversion worked.
  5. If int.TryParse returned false, the string to int conversion failed and the int value will be 0 (default).

Here’s the full code showing successful string to int conversion:

Here’s the full code showing failed string to int conversion:

2. Parse

The main difference between int.TryParse and int.Parse is that int.TryParse won’t throw an exception if the passed string is in invalid numeric format. On the other hand, int.Parse throws exceptions that we need to catch.

If you want to use int.Parse, make sure your string is in valid format or add code to catch exceptions.

Here’s a code example of successful use of int.Parse:

If the input string is not a valid string representation of a number, string to int conversion fails:

Error: System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
at System.Int32.Parse(String s)

3. Convert

Another way to convert string to int is to use the Convert class:

The static method Convert.ToInt32 uses int.Parse to convert string to int:

The main benefit of using Convert class instead of calling int.Parse directly is that Convert has overloads for different data types. For example, Convert.ToInt32() accepts both string and DateTime:

So with Convert we can keep our syntax consistent.

Supported types

Convert is a static class that exposes methods for converting a string to varios numeric data types:

Type Convert Method
decimal ToDecimal(String)
float ToSingle(String)
double ToDouble(String)
short ToInt16(String)
int ToInt32(String)
long ToInt64(String)
ushort ToUInt16(String)
uint ToUInt32(String)
ulong ToUInt64(String)

ToInt32 can throw FormatException or OverflowException.

FAQ

What’s the signature of int.TryParse method?

The signature of the int.TryParse is:

What is the Try-Parse Pattern?

Try-Parse Pattern is a design pattern for exception handling. Try-Parse method is expected not to throw an exception if the action is unsuccessful. Instead, it is supposed to return false.

The pattern is not restricted to converting strings to other types. It can be used for any action that may or may not succeed.

How does String to Int conversion work?

.NET uses the internal Number class from the System namespace to define logic that recognizes numbers in a string.

The most important method for converting String to Int is the ParseNumber method:

There are many gotchas when parsing an int. For example, leading spaces, trailing spaces, parentheses, currency symbols, and more.

ParseNumber supports complex scenarios using NumberStyles. Depending on the style you select, the parser validates and converts the string.

Published on:

  • Windows forms open new form
  • Windows form visual studio 2022
  • Windows forms как добавить кнопку
  • Windows forms net framework visual studio
  • Windows forms как добавить картинку