只要数据库中的价格值为0.0,下面的C#代码就会给我一个Casting错误。字段类型是它正在读取它的数据库中的一个浮点数。有谁知道这个问题?
double decPrice = (double)dsqry2.Tables[0].Rows[intCountOrders]["Price"];
答案 0 :(得分:0)
使用Convert.ToDouble
代替投射。
double decPrice = Convert.ToDouble(dsqry2.Tables[0].Rows[intCountOrders]["Price"]);
答案 1 :(得分:0)
我最喜欢和最安全的解决方案很简单:
var x = dsqry2.Tables[0].Rows[intCountOrders]["Price"];
var decPrice = x is double ? (double)x : 0;
答案 2 :(得分:0)
尝试
dsqry2.Tables[0].Rows[intCountOrders].Field<double>("Price")