我有一个窗体,有多个数字键盒,我大部分都会使用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();
}
答案 0 :(得分:0)
.Value返回是一个小数,因为错误是在说明它并且它试图说服它不会进行从decimal到int的显式转换,我假设你在Role对象上的值是。你最好在numericUpDown对象上做一个int.Parse(...)或者更好的是int.TryParse(...)并检查返回以查看它是否可以准确地将十进制值解析为一个int应该可以。
进一步阅读NumericUpDown
中的.Value答案 1 :(得分:0)
...或者您可以使用强制转换操作=)
像这样:decimal q;
int w = (int)q;