Member 9331278 Ответов: 2

Как преобразовать строку в целое число


Я пытаюсь преобразовать строку в int

int editScore =0;
            
           
         //   editScore = Convert.ToInt32(Label1.Text) - Convert.ToInt32(report[2]);
            editScore = int.Parse(Label1.Text);


Но я получаю эту ошибку

When converting a string to a Datetime, parse the string to take the date before putting each variable into the datetime object 


спасибо

Что я уже пробовал:

int editScore =0;
            
           
         //   editScore = Convert.ToInt32(Label1.Text) - Convert.ToInt32(report[2]);
            editScore = int.Parse(Label1.Text);

[no name]

Эта строка кода никак не могла выдать сообщение об ошибке.

Nchantim

Склонны соглашаться. Если только он каким-то образом не изменил int на DateTime.

Может быть, он пытается преобразовать переменную даты в строку с помощью String.Формат и переменная-это не дата.

2 Ответов

Рейтинг:
2

Patrice T

editScore = int.Parse(Label1.Text);

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

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Рейтинг:
0

Bryian Tan

Я предполагаю, что код пытается преобразовать строку ("1,234) со стилями (например, запятая) в целое число. Я бы предложил следующее

int output = 0;
//null = use current culture
            if (int.TryParse("1,233", System.Globalization.NumberStyles.AllowThousands |
                    System.Globalization.NumberStyles.AllowLeadingSign, null, out output))
            {
                Console.WriteLine(output);
            }


Больше читать:
Кодирование Вызов Урок Усвоен[^]
Перечисление NumberStyles (System.Глобализация)[^]