C# 双管

C# 双管,c#,excel,casting,double,C#,Excel,Casting,Double,我正在尝试从excel文件中获取数据。我设法得到了数据,除了设置为double not string的1列之外。我正在尝试使用以下代码获取此列的值: NET_DEPOSIT = x.Field<string>("NET_DEPOSIT"), 净存款=x.字段(“净存款”), 使用以下代码将导致使用可为null的类型时出错 x.Field<double>("NET_DEPOSIT").ToString() x.Field(“净存款”).ToString() 净存款在

我正在尝试从excel文件中获取数据。我设法得到了数据,除了设置为double not string的1列之外。我正在尝试使用以下代码获取此列的值:

NET_DEPOSIT = x.Field<string>("NET_DEPOSIT"),
净存款=x.字段(“净存款”),
使用以下代码将导致使用可为null的类型时出错

x.Field<double>("NET_DEPOSIT").ToString()
x.Field(“净存款”).ToString()
净存款在数据库中设置为字符串,在excel工作表中设置为双精度

但是,我收到消息=“无法将类型为“System.Double”的对象强制转换为类型为“System.String.”错误

有什么帮助吗?

试试这样的方法:
x.Field(“净存款”).ToString()

如果该字段是双精度字段,我认为您需要执行以下操作:

NET_DEPOSIT = x.Field<double>("NET_DEPOSIT"),
净存款=x.字段(“净存款”),
试试这个

x.Field("NET_DEPOSIT").ToString("0.000000")
你应使用:

   NET_DEPOSIT = Convert.ToString(x.Field<double?>("NET_DEPOSIT")),
NET\u DEPOSIT=Convert.ToString(x.Field(“NET\u DEPOSIT”),

这是因为可为空的类型,因此使用?注释。

说真的,你不能在这里发现问题吗?也许用
代替
。。。如果tried@musefan不行@为什么不呢?因为净存款在excel中设置为双精度,在数据库中设置为字符串