当int32行为异常时得到错误答案,如何解决?C#

堆栈溢出编织器

我试图用这段代码得到结果。可以使用我选择的任何数字/数字,但最后只能使用“ 0”。(val1,是我要在其中写数字的文本框)和(yarncombobox,ft3.garnlangd1是我在计算中获得所需值的位置)。我猜Int32可能是错误的...我应该改用什么?

另外,删除所有数字时,我收到错误消息“ System.FormatException:'Indatasträngenhade ett felaktigt格式。'”

private void YarnWeightTextbox_TextChanged(object sender, EventArgs e)

            Int32 val1 = Convert.ToInt32(YarnWeightTextbox.Text);
        Class2 ft3 = YarnComboBox.SelectedItem as Class2;
        {
            YarnLengthTextbox.Text = Convert.ToString((val1 / 50) * ft3.garnlangd1);

编辑:我确实得到了一些工作,它确实给正确的价值与浮动。但是同样的问题。当删除同一框中的所有数字时,应用程序崩溃。

            float val1 = Convert.ToSingle(YarnWeightTextbox.Text);
        Class2 ft3 = YarnComboBox.SelectedItem as Class2;
        float val2 = val1 / 50 * ft3.garnlangd1;
        {
            YarnLengthTextbox.Text = Convert.ToString(val2);
约书亚·罗宾逊(Joshua Robinson)

正如Shane Haw在评论中提到的那样,您会得到,FormatException因为该TextChanged事件会在文本更改时触发

如果值YarnWeightTextBox.Text"5",和您删除"5"然后是TextChanged事件触发。这表示您""要将一个空字符串传递Convert.ToSingle空字符串不会转换为float,因此得到FormatException如果您还输入数字以外的内容,您将得到相同的结果TextBox

更好的选择是检查值是否YarnWeightTextBox.Text解析为afloat而不是使用Convert.ToFloat

private void YarnWeightTextBox_TextChanged(object sender, EventArgs e)
{
   float val1 = 0.0F;
   if (!float.TryParse(YarnWeightTextBox.Text, out val1))
   {
      // The value in YarnWeightTextBox.Text does not parse to a float. You could 
      // do something here to indicate to the user that they did not provide a correct
      // value, or just return.
      return;
   }
   // Calculate the yarn length and put it in the YarnLengthTextBox.Text like you're doing now.
}

或者,如果为Windows Forms,则可以查看该NumericUpDown控件,控件将阻止用户输入无效值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何解决C#中的系统参数异常错误?

导入产品报告时图像栏显示错误,错误为“发生一般系统异常”。如何解决?

C# int & int32 声明

如何解决C#中的OutOfMemory异常?

使用递归解决矩阵问题时得到错误答案

如何解决Null异常错误

如何解决 C 程序 int main 错误

扫描实木复合地板联合表时,INT32类型错误。错误或预期行为?

使用List.RootFolder.Files.Add(C#)将文件上传到SharePoint时如何解决异常

如何解码此小端(int32)消息?

如何解决调用方法c#的库错误?

如何解决此 C# 代码中的 CORS 错误?

C#mysql读取int32奇怪的行为

我该如何解决这个错误??“异常值:预期范围()整数结束参数,得到浮点数。”

如何解决Flexbox +内联块+溢出导致重叠的IE 11行为?

存储到'Int'异常中时如何解决Integer文字'2147483648'溢出?

部署到远程Tomcat时如何解决“嵌套异常为org.hibernate.exception.JDBCConnectionException”?

为Nifi编写流服务时如何解决Java的空指针异常?

如何解决 ArithmeticException 错误:/ 为零

在 if 语句中访问字典键时如何解决键错误异常

在C#中将包含句点(。)的字符串转换为Int32时的问题

在 C# 中寻找角度时无法得到正确答案

在编程c#时出现此错误:“线程不是用户挂起的;无法恢复。” 它是什么?如何解决?

使用验证时如何解决错误?

安装NetBeans时如何解决错误?

更新记录时如何解决错误?

如何解决:值错误,以int()为基数10:“ Shuk”的无效文字?

如何解决错误:int()以10为底的无效文字:“运气”?

当标识的值是一个字符串时,如何解决“以 10 为基数的 int() 的无效文字”错误