akinwunmi Ответов: 1

Как работать с int и datetime в C# windowsform


Добрый день всем, пожалуйста, я работаю над приложением. я хочу, чтобы пользователь мог ввести сумму кредита, которую он хочет занять, и если кредит находится в течение 1 года, он должен работать. таким образом, в зависимости от месяцев пользователь собирается занять кредит. за 6 месяцев или меньше программа должна умножить сумму, введенную пользователем, на 5% в течение шести - девяти месяцев 7,5% от суммы, введенной пользователем e.tc. так что если разница datatimepicker(дни) меньше, чем 6 месяцев(раньше), но я получаю ошибку

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

int result; 
DateTime reqdt = dtrequest.Value.Date;
DateTime retdt = dtreturn.Value.Date;

DateTime before = reqdt.AddMonths(6);
DateTime within = reqdt.AddMonths(9);
DateTime after = reqdt.AddYears(1);
TimeSpan ts = retdt - reqdt;

int days = ts.Days;
DateTime cde = new DateTime(days);//................int days to time 
// DateTime cde = Convert.ToDateTime(days);
result = Convert.ToInt32(txtamount.Text);//....................converting string to int(error not in the correct format)

if (cde <= before)
{
   double mult = result * 5;
   txtresult.Text = mult.ToString();
}

Patrice T

Что такое contain of txtamount ?

akinwunmi

я хочу, чтобы пользователь ввел сумму денег, которую он хочет занять(txtamount, то есть текстовое поле для суммы)

phil.o

Патрис задала вопрос: каково фактическое содержание текстового поля, когда происходит ошибка? К какой ценности это относится txtamount.Text равны?

akinwunmi

результат = преобразование.ToInt32(txtamount.Text)

phil.o

Извините, но это все еще не тот вопрос.

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Воспользуйся инт.Метод tryparse[^] вместо. Вы получаете значение true/false обратно от вызова метода, сообщающего вам, удалась ли операция синтаксического анализа или нет.

Теперь вы не можете преобразовать целое число в дату-время. Это не имеет никакого смысла так делать.

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

В вашем фрагменте кода Вы можете использовать ts.Значение дней в вызове к.AddDays() для некоторого существующего значения DateTime.