convert.toint32(float)尝试将float转换为int32时失败
-
01-10-2019 - |
题
没有例外,功能只是在此声明中停止:
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
.
当进行背景工作完成后,将从背景工人的线程中抛出的任何例外都将分配给该属性。
构造感受输入字符串不是正确的格式。
不隶属于 StackOverflow