
我在那条线上遇到了一个例外。我的编码是正确的,但仍然出现错误。谁能帮我重写该特定行的代码。我正在使用该行来查看从数据库到文本框的值。getprogress 是来自 web 服务的方法名称。

我在那条线上遇到了一个例外。我的编码是正确的,但仍然出现错误。谁能帮我重写该特定行的代码。我正在使用该行来查看从数据库到文本框的值。getprogress 是来自 web 服务的方法名称。
的值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空或具有无效字符,则错误也可能出现。
如果您现在允许在menuitemno.Textthen 中使用小数位Int64.TryParse
int result;
if(int.TryParse( menuitemno.Text, out result))
progress = web.getprogress(result);
else
//You have incorrect integer in menuitemno.Text
使用 RadTextBox 时无需解析任何整数值
Hashtable newval = new Hashtable();
int Age = Convert.ToInt32(newval["Age"].ToString());
似乎 menuitemno 不是可以转换为整数的有效字符串。只需检查 menuitemno.Text 的值,我怀疑它没有整数值。右键单击“menuitemno.Text”并选择快速观看;它将显示价值。
文本框的值,很可能是inull或empty,要修复此问题,假设这些值在可接受的范围内,您可以执行以下操作:
int i =0;
int.TryParse(menuitemno.Text, out i);
progress = i;
像这样的东西。
menuitemno 是文本框吗?如果它只接受数字,您应该使用 numericupdown。这样您就不必转换为数字,并且可以很容易地应用限制,例如不允许小数位。