2

例外

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

4

6 回答 6

1

的值menuitemno.Text类似于 32.64(有小数),因此无法使用 convert.toint 将小数转换为整数。

用于Convert.ToInt64(Convert.ToDouble(menuitemno.Text))转换。

要进行此折扣舍入,您可以执行以下操作:

Convert.ToInt64(Math.Floor(Convert.ToDouble(menuitemno.Text)));

如果你需要四舍五入,你可以Math.FloorMath.Round.

Convert.ToInt64(Math.Round(Convert.ToDouble(menuitemno.Text)));

如果值为menuitemno.Text空或具有无效字符,则错误也可能出现。

如果您现在允许在menuitemno.Textthen 中使用小数位Int64.TryParse

于 2012-05-23T07:32:34.360 回答
1

使用int.TryParse()

int result;
if(int.TryParse( menuitemno.Text, out result))
   progress = web.getprogress(result);
else
   //You have incorrect integer in menuitemno.Text
于 2012-05-23T07:28:30.707 回答
0

使用 RadTextBox 时无需解析任何整数值

Hashtable newval = new Hashtable();
int Age = Convert.ToInt32(newval["Age"].ToString());
于 2014-01-02T12:00:41.537 回答
0

似乎 menuitemno 不是可以转换为整数的有效字符串。只需检查 menuitemno.Text 的值,我怀疑它没有整数值。右键单击“menuitemno.Text”并选择快速观看;它将显示价值。

于 2012-05-23T07:27:52.457 回答
0

文本框的值,很可能是inullempty,要修复此问题,假设这些值在可接受的范围内,您可以执行以下操作:

int i =0; 
int.TryParse(menuitemno.Text, out i);
progress = i;

像这样的东西。

于 2012-05-23T07:28:17.683 回答
0

menuitemno 是文本框吗?如果它只接受数字,您应该使用 numericupdown。这样您就不必转换为数字,并且可以很容易地应用限制,例如不允许小数位。

于 2012-05-23T07:36:59.633 回答