我在该行中遇到异常。我的编码是正确的,但我仍然收到错误。任何人都可以帮我重写该特定行的代码。我正在使用该行查看从数据库到文本框的值。 getprogress是webservice的方法名称。
答案 0 :(得分:1)
int result;
if(int.TryParse( menuitemno.Text, out result))
progress = web.getprogress(result);
else
//You have incorrect integer in menuitemno.Text
答案 1 :(得分:1)
menuitemno.Text
的值类似于32.64(具有十进制),因此无法使用convert.toint将十进制转换为整数。
使用Convert.ToInt64(Convert.ToDouble(menuitemno.Text))
进行转化。
要做这个折扣舍入,你可以这样做:
Convert.ToInt64(Math.Floor(Convert.ToDouble(menuitemno.Text)));
如果您需要进行回合,可以将Math.Floor
替换为Math.Round
。
Convert.ToInt64(Math.Round(Convert.ToDouble(menuitemno.Text)));
如果menuitemno.Text
的值为空或具有无效的char,则可能会出现错误。
如果您现在允许在menuitemno.Text
中使用小数位,请使用Int64.TryParse
答案 2 :(得分:0)
似乎menuitemno不是可以转换为整数的有效字符串。只需检查menuitemno.Text的值,我怀疑它没有整数值。右键单击“menuitemno.Text”并选择快速观察;它会显示价值。
答案 3 :(得分:0)
文本框的值最可能 i null
或empty
,以修复此问题,假设这些值在可接受范围内,您能做到:
int i =0;
int.TryParse(menuitemno.Text, out i);
progress = i;
像这样。
答案 4 :(得分:0)
menuitemno是一个文本框吗?如果它只接受数字,你应该使用numericupdown。这样你就不必转换为数字了,你可以很容易地应用限制,例如不允许小数位。
答案 5 :(得分:0)
使用RadTextBox时无需解析任何整数值
Hashtable newval = new Hashtable();
int Age = Convert.ToInt32(newval["Age"].ToString());