我正在从内部数据库读取数据。
该代码将从数据库读取的值赋给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/