没有抛出异常,函数只是在这个语句处停止:
int productQuantity = Convert.ToInt32("1.00");
并返回。
将此浮点数转换为我做错了Int32
什么?
注意:我正在运行BackgroundWorkerThread
.
没有抛出异常,函数只是在这个语句处停止:
int productQuantity = Convert.ToInt32("1.00");
并返回。
将此浮点数转换为我做错了Int32
什么?
注意:我正在运行BackgroundWorkerThread
.
在这种情况下会引发异常,它只是没有出现在调试器中。此字符串不是可转换为Int32
类型的格式,因此会引发异常。如果 IDE 不合作,您可以通过将其包装在 try/catch 块中来验证这一点。
这里最好的方法可能是将字符串转换为 adouble
然后手动将其转换为int
. 由于精度差异,这确实为数据丢失打开了大门。但是鉴于您的输入是浮动格式,如果您希望最终产品成为int
您需要double
先将其转换为 a,然后再转换为Int32
.
int productQuantity = Convert.ToInt32(double.Parse("1.00"));
抛出异常,只是要看到它,您必须检查RunWorkerCompletedEventArgs.Error
事件处理程序中的属性BackgroundWorker.RunWorkerCompleted
。
后台工作完成时从后台工作线程抛出的任何异常都分配给该属性。
FormatException 输入字符串的格式不正确。