wpf csharp将numerickeyup值转换为int

时间:2011-12-08 13:28:56

标签: c# wpf string

我有一个窗体,有多个数字键盒,我大部分都会使用1和0。 当田地被设定,它的罚款,。问题是当我将更改发送回webservice时,当我编译代码时,它给我一个错误说

  

无法将类型'decimal'隐式转换为'int'。一个明确的   存在转换(你错过了演员吗?)

这里是添加它后导致此错误的代码,也是这个代码的FYI,所以我可以将角色的新值发送到Web服务

          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 :(得分:0)

.Value返回是一个小数,因为错误是在说明它并且它试图说服它不会进行从decimal到int的显式转换,我假设你在Role对象上的值是。你最好在numericUpDown对象上做一个int.Parse(...)或者更好的是int.TryParse(...)并检查返回以查看它是否可以准确地将十进制值解析为一个int应该可以。

进一步阅读NumericUpDown

中的.Value

答案 1 :(得分:0)

...或者您可以使用强制转换操作=)

像这样:

decimal q;
int w = (int)q;