1

谁能告诉我为什么这个 C# 代码

item.Price = Convert.ToDouble(rdr["Ar"]);

给我一个错误:

无法将类型“double”隐式转换为“int”。存在显式转换(您是否缺少演员表?)

Price 项目是double,rdr是一个SqlDataReader并且Ar是一个float表的类型列......我认为我也应该float在 C# 中使用,但我认为它有其他表示。

有人可以帮我弄这个吗?我试图从数据库中获取一些价格,但它不起作用。如果你有什么建议?

4

2 回答 2

1

问题是 item.Price 被定义为一个整数。

于 2013-05-30T15:55:32.040 回答
0

一个可能的答案是 Convert.ToDouble() 方法将您的数据库作为双精度浮点数,但预期的参数是一个 int (因为您不会从双精度数转换为双精度数)。你试过这个吗?:

item.Price = (double)rdr["Ar"];
于 2013-05-30T16:00:23.090 回答