没有例外,功能只是在此声明中停止:

int productQuantity = Convert.ToInt32("1.00");

并返回。

我在做什么错以将这个浮标转换为 Int32?

注意:我正在跑步 BackgroundWorkerThread.

有帮助吗?

解决方案

在这种情况下,正在抛出一个例外,只是在调试器中没有浮出水面。该字符串不采用可转换为 Int32 类型,因此引发和异常。如果IDE不合作,则可以通过将其包裹在尝试/捕获块中来验证它。

这里最好的方法可能是将字符串转换为 double 然后手动将其放到 int. 。由于精确差异,这确实为数据丢失打开了大门。但是鉴于您的输入是浮点样式格式的,如果您希望最终产品成为一种 int

其他提示

您需要将其转换为 double 首先,然后转换为 Int32.

int productQuantity = Convert.ToInt32(double.Parse("1.00"));

抛出了一个例外,只是看到它必须检查 RunWorkerCompletedEventArgs.Error 事件处理程序的财产 BackgroundWorker.RunWorkerCompleted.

当进行背景工作完成后,将从背景工人的线程中抛出的任何例外都将分配给该属性。

构造感受输入字符串不是正确的格式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top