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

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

  • автор:

Как изменить тип textbox с string на integer?

Я это уже запретил, и в TextBox’е только можно цифры вводит, и все равно эти значение нужно конвертировать, чтобы с ними работать. Вот подумал, может как нибудь сам тип TextBox_а можно изменен с string на integer. Оказалось не можно.

27 июл 2012 в 10:49

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

Ну можно попробовать так. Проверки только свои сюда прикрутить придется самому:

public class IntBox : Textbox < public new int Text < get < return int.Parse(base.Text); >set < base.Text = value.ToString(); >> > 

Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
ответ дан 27 июл 2012 в 12:16
pincher1519 pincher1519
2,548 4 4 золотых знака 35 35 серебряных знаков 57 57 бронзовых знаков

Но по мне, лучше всё же не переопределить Text а добавить свойство Number. А то логическая не стыковка — Текст и только числа.

28 июл 2012 в 9:09

Ну просили изменить тип, а не ввести новое свойство =) А так да, согласен, лучше вводить новое свойство, а не скрывать старое.

31 июл 2012 в 6:10

Не совсем понятен вопрос, но наверное

int i = int.Parse(textBox.Text); 

Отслеживать
ответ дан 27 июл 2012 в 9:50
3,724 3 3 золотых знака 27 27 серебряных знаков 42 42 бронзовых знака

нет, это знаю, не можно поставить по умолчанию тип самого textbox_а integer? но чтобы каждый раз не конвертировать

27 июл 2012 в 10:00
боюсь это невозможно
27 июл 2012 в 10:02
@Spectre, не вводи в заблуждение, будь смелее!
28 июл 2012 в 9:36
>поставить по умолчанию тип самого textbox_а integer каким бы смелым я не был, это невозможно
28 июл 2012 в 11:31
@Spectre — а разве это не возможно: namespace MyTextBox < public class TextBox: System.Windows.Forms.TextBox < //а тут как предложил @pincher1519 >>
28 июл 2012 в 12:14

Можно ещё оформить расширение не через наследника, а в создании хелпера:

public static class TextBoxHelper < public static int GetNumberValue(this TextBox textBox) < return int.Parse(textBox.Text); >public static void SetNumberValue(this TextBox textBox, int value) < textBox.text = value.ToString(); >> 

Подключаете класс, и тогда использовать можете в коде так:

var intValue = textBox1.GetNumberValue(); textBox1.SetNumberValue(intValue+1); 

Забыл как такой статик по науке называется, если кто напомнит, скажу спасибо.

How to convert textbox to int in c#

Your Textbox is a type String (Text). The operation you are trying to do (adding +1) is for numeric types only.
When using += on a text, it will try to autoconvert the input to Text 1 (number) -> «1» (text) . The example you showed is to add (append) letters to the existing string (text) example:

Textbox.Text += "Apples"; Textbox.Text += " are "; Textbox.Text += " awesome!"; 

In order to process the number in a mathematical way, you need to convert the text to a number first:

int conversion = int.Parse(Textbox.Text); // convert to int (1,2,3,4. ) // double conversionWihDecimal places; // convert to double (1.213221) conversion += 1; // add 1 to conversion Textbox.Text = conversion.ToString(); // convert back and update textbox 

Note that your application will crash if you try to parse the Text «Apple» to a number for example. You can either add checking functions or use int.TryParse() . I use double in the example below as it will cover decimal positions (123.321) as well. Additionally, I use .Trim() to remove any whitespaces at the start and end of text.

double conversion; if (double.TryParse(Textbox.Text.Trim(), out conversion) < conversion += 1; // add 1 to conversion Textbox.Text = conversion.ToString(); // convert back and update textbox >

Преобразовать значение 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’е?

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

int a; int b; int N = a + b; int[] mas = new int[10]; int[] mas2 = new int[10]; Random rnd = new Random(); private void button1_Click(object sender, EventArgs e) < a = Convert.ToInt32(textBox1.Text); b = Convert.ToInt32(textBox2.Text); for (int i = 0; i < N; i++) < mas[i] = rnd.Next(0, 11) ; listBox1.Items.Add(mas[i].ToString()); mas2[i] = rnd.Next(0, -11); listBox1.Items.Add(mas[i].ToString()); >>
  • Вопрос задан более двух лет назад
  • 201 просмотр

11 комментариев

Простой 11 комментариев

edward_freedom

edward_freedom @edward_freedom
не понятно в чем проблема у тебя и что за код
в коде выше N так и останется равным нулю.
превратите N в свойство.
teilzteilzteilzteilz @teilzteilzteilzteilz Автор вопроса

edward_freedom, число, вводимое в текстбоксе должно преобразовываться в кол-во рандомных чисел в листбоксе, вводимых одним числом в текстбоксе.

teilzteilzteilzteilz @teilzteilzteilzteilz Автор вопроса
Voland69, Как это сделать? И что оно мне от этого даст?

freeExec

teilzteilzteilzteilz, так где и когда происходит вычисление N?
teilzteilzteilzteilz @teilzteilzteilzteilz Автор вопроса

freeExec, В инициализации массива, он суммируется друг между другом. По правде говоря, я бы сюда не писал, если бы знал)

freeExec

teilzteilzteilzteilz, отлично, а чему в тот момент равны А и Б?
Или не понятно, что ты сначала яишницу пожарил, а топом яйца разбил.

Извини меня и не обижайся, но — я живу почти 30 лет за рубежом и почти не разговариваю на русском языке, но так непонятно я не пишу свои мысли. А ведь это важно — правильно излагать свои мысли, тогда тебя понимают и скорее всего- помогут. Что значит — преобразовать числовые элементы в массив в textBox’е?
В textbox(e) должно что-то показаться? Судя по коду, в textbox(e) берётся число и используется как количественный фактор для генерации случайных чисел. Если так, то указание в textBox’e грамматически не имеет никакого смысла. Ведь направление не в TextBox, а в массив. Но при этом учитывается значение из textBox’a.

Это первое, а второе. Код, который ты указал, хоть и не лишён возможных ошибок при вводе не чисел, но всё равно — в принципе делает то, что ты вроде описал. Так тогда — в чём проблема?

Из правил UX я бы не делал это действие через кнопку, а именно в каждом из textBox’ов, после нажатия клавиши Ввода. Тогда держа руки на клавиатуре можно забить кучу разных случайных чисел, не прибегая к мышке или клавиши Tab для перемещения к кнопке. Она лишняя. При этом можно протоколировать в дополнительном массиве количество генерируемых значений и можно будет даже функцию отменить предусмотреть. Те. При нажатии cntrl+z или какой другой комбинации можно из списка удалить именно столько элементов, сколько было внесено при последней генерации. Ещё одно нажатие cntrl+z и следующие сгенерированные элементы удаляются итд. до последнего, те первого генерирования.

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

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