Как преобразовать textbox в int
Перейти к содержимому

Как преобразовать textbox в int

  • автор:

Как преобразовать textbox.text в int или что использовать для ввода только int вместо этого?

Как мне преобразовать TextBox в целое число или есть поле внутри WPF, которое поддерживает только числа?

Поделиться Источник 15 мая 2011 в 16:10

2 ответа

Чтобы преобразовать строку в целое число, вы можете использовать Parse :

string text = "1234"; int value = int.Parse(text); 

Или вы можете использовать элемент управления NumericUpDown.

Поделиться 15 мая 2011 в 16:14

Если вам нужен только числовой ввод, вам может быть лучше с помощью numbericupdown. Конечно, вы можете просто проверить ввод с помощью tryparse.

Преобразовать значение TextBox в int

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

Как преобразовать строковое значение label в int
Нужна помощь, мне необходимо преобразовать строковое значение label в целое число. На форме.

Записать в переменную int значение из TextBox
Поправьте пожалуйста. Ошибка: ругается на int a = Convert.ToInt32(bk_txt.Text); Входная строка.

Как получить int — вое значение с textbox
Как получить int — вое значение с textbox.

Как в переменной int А присвоить значение из textBox (число) ?
Нужно потом с числом работать, а как записать не могу вспомнить , помогите, пожалуйста!

Регистрация: 16.12.2013
Сообщений: 69

Лучший ответ

Сообщение было отмечено Dream_of_Cthulh как решение

Решение

Возможно не совсем понял вопрос, но может быть так?

int test = Convert.ToInt32(textBox1.Text);

— это если из текстбокса считывать

string s = "5"; int i = Convert.ToInt32(s);

Как преобразовать textbox в int

Все примитивные типы имеют два метода, которые позволяют преобразовать строку к данному типу. Это методы Parse() и TryParse() .

Метод Parse() в качестве параметра принимает строку и возвращает объект текущего типа. Например:

int a = int.Parse("10"); double b = double.Parse("23,56"); decimal c = decimal.Parse("12,45"); byte d = byte.Parse("4"); Console.WriteLine($"a= b= c= d=");

Стоит отметить, что парсинг дробных чисел зависит от настроек текущей культуры. В частности, для получения числа double я передаю строку «23,56» с запятой в качестве разделителя. Если бы я передал точку вместо запятой, то приложение выдало ошибку выполнения. На компьютерах с другой локалью, наоборот, использование запятой вместо точки выдало бы ошибку.

Чтобы не зависеть от культурных различий мы можем установить четкий формат с помощью класса NumberFormatInfo и его свойства NumberDecimalSeparator :

using System.Globalization; IFormatProvider formatter = new NumberFormatInfo < NumberDecimalSeparator = "." >; double number = double.Parse("23.56", formatter); Console.WriteLine(number); // 23,56

В данном случае в качестве разделителя устанавливается точка. Однако тем не менее потенциально при использовании метода Parse мы можем столкнуться с ошибкой, например, при передачи алфавитных символов вместо числовых. И в этом случае более удачным выбором будет применение метода TryParse() . Он пытается преобразовать строку к типу и, если преобразование прошло успешно, то возвращает true . Иначе возвращается false:

Console.WriteLine("Введите строку:"); string? input = Console.ReadLine(); bool result = int.TryParse(input, out var number); if (result == true) Console.WriteLine($"Преобразование прошло успешно. Число: "); else Console.WriteLine("Преобразование завершилось неудачно");

Если преобразование пройдет неудачно, то исключения никакого не будет выброшено, просто метод TryParse возвратит false, а переменная number будет содержать значение по умолчанию.

Convert

Класс Convert представляет еще один способ для преобразования значений. Для этого в нем определены следующие статические методы:

  • ToBoolean(value)
  • ToByte(value)
  • ToChar(value)
  • ToDateTime(value)
  • ToDecimal(value)
  • ToDouble(value)
  • ToInt16(value)
  • ToInt32(value)
  • ToInt64(value)
  • ToSByte(value)
  • ToSingle(value)
  • ToUInt16(value)
  • ToUInt32(value)
  • ToUInt64(value)

В качестве параметра в эти методы может передаваться значение различных примитивных типов, необязательно строки:

int n = Convert.ToInt32("23"); bool b = true; double d = Convert.ToDouble(b); Console.WriteLine($"n= d=");

Однако опять же, как и в случае с методом Parse, если методу не удастся преобразовать значение к нужному типу, то он выбрасывает исключение FormatException.

Как преобразовать textbox в int

Цитата diffmike @ 10.10.10, 19:25

насчет типа точно не знаю, скорее всего String

System.String

Цитата diffmike @ 10.10.10, 19:25

по крайней мере в CodeGear RAD studia

Она тут вообще не причем, там VCL, а не Windows Forms

Цитата diffmike @ 10.10.10, 17:09

например в С# было бы
int a = Convert.Int32(textbox1.text);

тоже самое и в C++\CLI, т.к. класс Convert — это не фича языка C#

Сообщ. #7 , 10.10.10, 19:37

Full Member

Рейтинг (т): 27

((IConvertible)textbox1->Text).ToInt32()

Сообщ. #8 , 10.10.10, 19:38

Рейтинг (т): 69

Цитата Pourtous @ 10.10.10, 19:37

зачем такие сложности, если есть

Convert::ToInt32()

Сообщ. #9 , 10.10.10, 20:57

Unregistered

не работает ни одно ни второе

Сообщ. #10 , 10.10.10, 20:58

Рейтинг (т): 69

Цитата diffmike @ 10.10.10, 20:57

не работает ни одно ни второе

Код показывай, как пишешь

Сообщ. #11 , 10.10.10, 21:05

Unregistered

процедура на нажатие кнопки сгенерировалась вот такая

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) <

int b = Convert.ToInt32(textBox1->Text);

соответственно строчку кода в середине написал я
ошибки, получаются вот такие:

Warning 1 warning C4832: token ‘.’ is illegal after UDT ‘System::Convert’ d:\documents\visual studio 2010\projects\primer\primer\Form1.h 91 1 primer
Error 2 error C2275: ‘System::Convert’ : illegal use of this type as an expression d:\documents\visual studio 2010\projects\primer\primer\Form1.h 91 1 primer
Error 3 error C2228: left of ‘.ToInt32’ must have class/struct/union d:\documents\visual studio 2010\projects\primer\primer\Form1.h 91 1 primer
Error 4 error C3149: ‘System::String’ : cannot use this type here without a top-level ‘^’ d:\Documents\Visual Studio 2010\Projects\primer\primer\primer.cpp 11 1 primer
Error 5 error C3265: cannot declare a managed ‘b’ in an unmanaged ‘price’ d:\Documents\Visual Studio 2010\Projects\primer\primer\primer.cpp 11 1 primer

Сообщение отредактировано: diffmike — 10.10.10, 21:07

Сообщ. #12 , 10.10.10, 21:12

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *