不会抛出异常,函数只会在以下语句处停止:
int productQuantity = Convert.ToInt32("1.00");
并返回。
将这个浮点数转换为
Int32
,我在做错什么?注意:我正在运行
BackgroundWorkerThread
。 最佳答案
在这种情况下,会抛出异常,只是它没有在调试器中浮出水面。此字符串的格式不能转换为Int32
类型,因此会引发异常。如果IDE不合作,则可以通过将其包装在try/catch块中来进行验证。
这里最好的方法可能是将字符串转换为double
,然后手动将其转换为int
。由于精度差异,这确实为数据丢失打开了大门。但是鉴于您输入的内容为 float 样式格式,如果您希望最终产品成为int
,这是不可避免的
关于c# - 尝试将float转换为Int32时Convert.ToInt32(float)失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3558112/