Строку в число с переводом в часы

dihard

Client
Регистрация
08.11.2019
Сообщения
256
Благодарностей
41
Баллы
28
Добрый день, есть код

C#:
string day_work = string.Empty;
string begin_work = string.Empty;

   
      day_work = project.Json.data.org[i].work_day[0].day;
      if (day_work == "everyday"){
          begin_work = project.Json.data.org[i].work_day[0].time_minutes.ToString(); // здесь получил строку в формате минут, допустим 1200
      }
Надо эту строку перевести в формат hh:mm(часы-минуты). Подскажите как это сделать. Конвертировать в int почему не дает. В конце добавил ToString, так как он ругался long нельзя перевести в string
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
406
Благодарностей
96
Баллы
28
Такой простой вопрос решается либо поиском по форуму, по ключу как конвертировать строку в число, либо задается вопрос ИИ, он поправит код.
Вариант с изучением c#, начиная с основ типов данных, не предлагаю... Знаю что это самое непопулярное в среде зеррокодеров :-)
 

dihard

Client
Регистрация
08.11.2019
Сообщения
256
Благодарностей
41
Баллы
28
Convert.ToInt32 - не выходит
Выполнение действия CSharp OwnCode. Не удается неявно преобразовать тип "int" в "string"

. Искал по форму ответ не нашел. Задавл вопрос ИИ, все варианты не работают. Даже просил найти ошибку почему не конвертирует в int
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
406
Благодарностей
96
Баллы
28
Convert.ToInt32 - не выходит. Искал по форму ответ не нашел. Задавл вопрос ИИ, все варианты не работают. Даже просил найти ошибку почему не конвертирует в int
Вот вопрос для ИИ

string day_work = string.Empty;
string begin_work = string.Empty;


day_work = project.Json.data.org.work_day[0].day;
if (day_work == "everyday"){
begin_work = project.Json.data.org.work_day[0].time_minutes.ToString(); // здесь получил строку в формате минут, допустим 1200
}

переделай код, что бы begin_work сконвертировал в число в другую переменную и вернул ее

Ответ ИИ

Чтобы преобразовать строку begin_work, содержащую количество минут, в числовое значение и вернуть его, можно использовать метод int.Parse или int.TryParse. Вот как это можно сделать:

csharp
Copy
string day_work = string.Empty;
string begin_work = string.Empty;
int begin_work_minutes = 0; // Новая переменная для хранения числового значения

day_work = project.Json.data.org.work_day[0].day;
if (day_work == "everyday")
{
begin_work = project.Json.data.org.work_day[0].time_minutes.ToString(); // Получаем строку в формате минут, например "1200"

// Преобразуем строку в число
if (int.TryParse(begin_work, out begin_work_minutes))
{
// Успешно преобразовано, begin_work_minutes теперь содержит числовое значение
}
else
{
// Обработка ошибки, если преобразование не удалось
// Например, можно выбросить исключение или установить значение по умолчанию
begin_work_minutes = 0; // или другое значение по умолчанию
}
}

// Возвращаем числовое значение
return begin_work_minutes;
Пояснение:
int.TryParse: Этот метод пытается преобразовать строку в целое число. Если преобразование успешно, он возвращает true и записывает результат в переменную begin_work_minutes. Если преобразование не удалось, он возвращает false, и в этом случае можно обработать ошибку (например, установить значение по умолчанию).

begin_work_minutes: Это переменная, которая будет хранить числовое значение минут.

Возврат значения: В конце кода возвращается переменная begin_work_minutes, которая теперь содержит числовое значение.

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


Как по мне, его ответ выглядит рабочим
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)