wpf csharp преобразует числовое значение в int - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть форма окна, в которой есть несколько числовых полей ввода, в большинстве случаев я буду использовать 1 и 0.когда поля устанавливаются, это нормально.проблема заключается в том, что когда я отправляю изменения обратно в веб-сервис, когда я компилирую код, он выдает мне сообщение о том, что

Невозможно неявно преобразовать тип 'десятичный' в 'int'.Существует явное преобразование (вам не хватает приведения?)

вот код, который после добавления вызывает эту ошибку, также, к вашему сведению, этот код позволяет отправлять в веб-службу новые значения дляроли

          private void btnAdd_Click(object sender, EventArgs e)
    {
        Roledata.UpdateRole(Roleui.Username,Roleui.Password,
            Role.ID = numericUpDown1ID.Value,
        Role.RoleName = txtRoleName.Text,
        Role.Weather = numericUpDown1Weather.Value,
        Role.National = numericUpDown1National.Value,
        Role.International = numericUpDown1International.Value,
        Role.Local = numericUpDown1Local.Value,
        Role.SendConfirm = numericUpDown1SendConfirm.Value);
        Close();

    }

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

... или вы можете использовать операцию приведения =)

так:

decimal q;
int w = (int)q;
0 голосов
/ 08 декабря 2011

. Возвращаемое значение .Value является десятичным, поскольку в нем указана ошибка, и он пытается убедить, что он не будет выполнять неявное преобразование из десятичного значения в int, которое, как я полагаю, является вашим значением в объекте Role. Лучше всего сделать int.Parse (...) для ваших объектов numericUpDown или еще лучше int.TryParse (...) и проверить возвращаемое значение, чтобы увидеть, может ли оно точно проанализировать десятичное значение в int, в котором оно должно быть в состоянии.

Дополнительная информация о. Значение от NumericUpDown

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...