我正在从内部数据库读取数据。
该代码将从数据库读取的值赋给double。

if (Convert.ToDouble(PricefromString) == Price && PriceFound == false)


已从数据库中读取PricefromString。

大多数情况下,代码可以正常工作,但是当字符串值为整数值时,我会收到FormatException。
在这种特殊情况下,当PricefromString = 77时,我得到了格式异常。
我尝试调试并检查了输入字符串到ToDouble(),这将引发异常。

编辑:PricefromString在结尾处有一个空格标签字符。
当字符串是双精度值时,例如,它工作得很好。 76.99,77.01,但是当价格达到整数值时出现FormatException错误。

有线索吗?

最佳答案

但是当字符串值为整数值时,我得到了FormatException。在这种特殊情况下,当PricefromString = 77时,我得到了格式异常。


不,你没有。 Convert.ToDouble可以很好地与代表整数的字符串一起工作,您可以通过运行以下代码亲自看到:

Console.WriteLine(Convert.ToDouble("77"));


实际上它确实打印出77。

我敦促您仔细检查一下您的输入字符串的确切含义。

关于c# - Convert.ToDouble()引发格式异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26771727/

10-10 13:15