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